Skip to main content

Full text of "TS-2068 Up-date"

See other formats


UP DATE Vo, au 


no Monorine 


EXPLORING THE POWER 


oa, 


SINCLAIR COMPUTERS 


THE CURRIDGE 298 THE SINCLAIR QL THE SINCLAIR TIMEX TS-2068 
Portable Power 32 Bit Power House Versatile Desk Topper 


In this issue... 


UPDATE CONTINUES WITH NEWH PUBLISHER 

QL OPERATING MS-DOS TS-2068 EXTRA MEMORY USING RAM DISK with TS-2068 

PSICN'S THRE NN MOBIL COMPUTERS NEW Z88 PUBLICATION QL'S TEXT '87 
PLUS- NEN ISSUE DISKS FOR BOTH THE SINCLAIR QL AND THE 15-2068 


1317 Stratford Ave. 
Panama City, Fl 32404 
904 871 3556 


News AnD NEw PRODUCTS 


If wou like your Sinclair 


Don't chase your tail--- 


Turn it around and get your tail 


over to the Milwaukee Simclair Exro 


The {490 SURELAIRCIMPTER post fin 
HIKE UES 


June 2nd §: 3rd 
Banquet Friday Hight June ist 


~ EHIME, SOPTURRE, WARURE, (OUR PRIZES, Sa HIP ~ 
Location ~ REAM WL TK ty 18 194 Hkeshe MI 


Saturday June 2, 1990 will be the SHUG meeting 


Tickets: in adv. /ot door 
One Duy - 4.00 = 9,60 

Two days~ 7.06 = 8.00 
Banquet -1¢.00 722? 
Tables: 30" x 6' 25.00 ech 


If flying in call us, 414 353 4522, 
with flight info. for transportation. 

Mail your reservations to: 

Expo Reservations, P.O. Box 101,Butler WI 53225 


UPDATE CHANGES PUBLISHER 


by Bill Jones 


This announces that Frank Davis, 513 East Main Street, Peru, IN 46970 will 
be taking over as publisher of Update Magazine with the October 1990 issue. We 
hope that the subscribers will not notice any change in quality or depth of 
coverage except for the better. I am delighted that Update will be a survivor 
publication and will be published under such competent leadership as Frank Davis 
can provide. I will help Frank as much as he requests to keep Update an 
excellent publication. 


Frank Davis is a long time user of both the TS-2068 and Sinclair QL. He has 
recently been involved as the SNUG Librarian for public domain software. Frank 
was a key person in organization of the 1988 Computer Fest at Indianapolis and 
has been the editor of a TSUG newsletter. In addition Frank is in close 
coordination with other SNUG officials in Indiana who will be at hand to assist 
in keeping Update Magazine a good publication. 


For those of you who have articles to publish please keep on sending them 
in. I will turn over all un-published articles to Frank when the July issue is 
finished. I am looking forward to having more time to spend on progranming and 
my sailing hobby. Also I promised to take the Wife on a cruise in the Virgin 
Isles. 


The hints given in Update recently that I was about to quit publishing 
brought on many letters urging me on. That was enough to make me reach out to 
find someone to carry on the magazine. But how can one sell ice to Eskimoes, 
Confederate currency, an old treasure map, a sunken boat, or a non-profit 
magazine? But the effort paid off. Now we have another dedicated publisher to 
keep Update going, the first Sinclair Timex magazine to survive the quits. I 
urge all to give Frank Davis your support. Re-subscribe and try to bring in 
another Sinclair Timex user as a subscriber. There are many inactive S-T “owners 
who are not users". We need to find these folks and encouraged them to subscribe 
to Update and re-join this enthusiastic group. The subscribers really are an 
enthusiastic group having a convival spirit of friendship with a common interest. 


Update is your magazine. There will be some complexion changes,, likely for 
the better. Each publisher injects his own personality into the pages. Since 
all Sinclar - Timex supporters are eccentric characters beyond help from couch 
analyists, Frank Davis will likely bring in a new set of egocentrics and 
incomprehensibles for you to enjoy. I quit with the hope that you are still 
trying to figure out whether or not I have any literary talents or am truly the 
curmudgeon that one of our subscribers suggested. My intent all along was to 
confuse while injecting humor and a bit of satire to twit the perfectionists who 
look for nits in the forest of verbs, pornouns, and infinitudes, and find many 
because Update is too poor to hire a proof reader. Its the beef that counts. 


I also would like to remind everyone that Update Magazine is not a profit 
venture. The best that a publisher can hope to do is to avoid losing money. The 
best that I could do during the three years was to put aside enough funds to pay 
for the upkeep and entertainment on board the 200' yacht "White Star” as we plyed 
the seas between issues. (Now I'll tell you. The "White Star” is a 45' sailing 
yawl, built in 1936 at Bristol, Conn. It was our family vessel for 10 years and 
was given toa boy's club in 1968 when I was sent to serve my Country in Viet 
Nam. Sailing gave way to publishing three years ago and will be resumed with 
salty zest.) 


A good gesture of support to your new publisher would be to send him your 
subscription renewal for 1991, which becomes due after the July issue is 
received. I wish Frank Davis and the subscribers to Update good tidings. -BJ- 


UPDATE Gets a New Editor After July 

In the January issue of UPDATE, it was announced that if no 
one could be found to carry on the publishing and editing of 
UPDATE magazine that it would be discontinued with the July 
issue (the last issue on the subscription year). Bill Jones was 
getting a bit burned out and wanted to spend more time at his 
other hobby, boating. It has been an excellent magazine and has 
a fairly steady subscriber base. The magazine had been twice 
offered to SNUG, but was not accepted at that time. At this time 
SNUG plans to continue with its own newsletter, of which the 
second issue is probably already sent out. 

Well the gauntlet was thrown down and it has been picked up, 
by Carol and Frank Davis of Peru, Indiana. After the July issue 
is sent out from Panama City, Florida, the magazine will be 
moved to Peru, Indiana. This means that all renewals of 
subscriptions will go to UPDATE Computer Systems, P.O. Box 1095, 
Peru, IN 46970, They will also, after the July issue is mailed, 
be handling all orders for program disks from the magazine. In 
the past this magazine has had near 100% renewal, and it is 
hoped this will be continued. Most of the magazine will remain 
pretty much the same, other than adding a colum on Sinclair 
desktop publishing. We hope to retain all of the same writers 
and perhaps add a few. At this time all prices ‘and policies 
remain the same. The price for a subscription is $18.00 U.S. 
The only change being looked at is that , with a postage rate 
hike likely in February 1991, we may have to increase postage 
for those subscribing overseas and in Canada by a dollar or two. 
It costs more to mail out of the country. All correspondence or 
questions on this should be directed to Frank Davis at P.O. Box 
1095, Peru, IN 46970. Assisting the Davis family with this 
venture is their longtime friend, Eliad P. Wannum, who will be 
active in the editorial department. He will undoubtedly also get 
stuck with a lot of collating and stapling of the magazine. 

For those who do not know Frank Davis and his wife Carol, 
allow me to say a few words. Remember the first Midwest 
Timex-Sinclair Computer Fest at Cincinnati, Ohio? He was the guy 
who got it all started and together with Jack Roberts and a 
committee of 11 more, put on that show. The next year he went on 
to produce the @nd Midwest Timex-Sinclair Computer Fest in 
Indianapolis, Indiana. To this date, that was the largest and 
best attended Sinclair show on this side of the Atlantic. Those 
who attended the show the next year at Cleveland will have 
remembered he was one of the moderators for the large meeting 
for all attendees and that he presented a seminar on data 
exchange between the TS1000, TS2068 and the QL. For the last 

- four years he has been the Editor of the ISTUG Newsletter, 
except for a few months that Mike Felerski had the helm. He was 
one of the original founders of the Indiana Sinclair-Timex Users 
Group, in which he is still very active. Presently, he is the 
Head Librarian for SNUG. In each and all of these endeavors, he 
has had the support of his wife, Carol, serving on all 
committees, proofreading, typing , etc. 

We will look forward to having the full support of all 
subscribers, writers, programmers and Sinclair vendors. Thanks 
to Bill Jones for giving us another chance to serve the Timex 
and Sinclair users of North America. 


4 


PSION DEVELOPS THREE NEY COMPUTERS 


A new generation of MOBIL full capability 
Canputers! 


(To prounounce PSION, drop the "P” and 
say, 'si-aan' ). 


PSION has been a leader in Software 
development since the first Personal computers 
were introduced by Sinclair. Some of PSION'S 
classic softwares are: View Calc and View File 
for the TS-1000, TS-2068 and Spectrum, Quill, 
Abacus, Archive, and Easel, for the Sinclair 
QL. PSION is an American Company based in 
Watertown, Connecticut, and they are producing 
a new line of computers. 

First came a PSION "Minature", a 
calculator size computer having full computing 
capability and the ability to transport files 
to and fron IBM compatables. 


NOW A NEN SERIES OF "MOBIL" COMPUTERS 


Now PSION comes in with a new line of 
"MOBIL" Computers that have many new and 
attractive innovations. PSION coined the name 
"MOBIL COMPUTER" to better discribe the size 
and portability of this new of 
computers. The terms “portable" and 
"Personal" . had become meaningless applying to 
a wide range of computer sizes. Three new 
computers are designed to have FULL DESK TOP 
CAPABILITY. 

PSION'S "Mobil" computers are the size of 
a loose leaf note book, measuring two inches 
thick and weighs 4 1/2 pounds. The three 
models have clam shell design to provide a 
full size screen that folds up to provide high 
resolution viewing with built-in graphics 
interface. 

The three models of PSION Mobils are 
designated: MC-200, MC-400, and MC~600. The 
first two are designed with PSION'S ow 
Operating System. The MC-600 is designed to 
use MS-DOS and all of the software used by the 
IBM compatable market. 


Common Design Features 


All three of the PSION Mobils employ the 
newest technology of "Flash Memory SoHid State 
Disk" (SSD). These SSD's are match book size 
Flash Memory cells that act in the same manner 
as disk drives, but have no moving parts. 
Each of the PSION Mobils have four SSD’s Poult 
in. 

The PSION Operating Systen is ROM B 
meaning that no outside DOS utilities ate. 
required for operation. 

ALL RAM MEMORY is held Non-Volatile by 
replacable AA batteries that last for up to 75 
computer operating hours. In terms of normal 


usage this translates into months of 


operation. 
THE MC-200 - MC-400 Mobil Computers 


These computers use the PSION Operating 
System and have an ensemble of BUILT-IN 
Softwares including, Word Processing, Personal 
and Business Data Base Management, Personal 
Diary, Full Function Calculator, and Terminal ~ 
Software for Telecommmication. 

The MC-200 and MC-400 have SPEECH 
PROCESSING. A built-in Microphone is used to 
input speech which is stored in memory. 
Speech processing includes its editing. 
Entrys to the built in software can be made by 
voice. Play back is also provided. 

The MC-200 and MC-400 have a built-in 
“Touch Pad", a Mouse atop the keyboard. The 
Touch Pad is integrated with the built-in 
softwares to provide menu item high lighting 
for selections. 

The MC~200 and MC-400 use the PSION "FAST 
LINK" to transport files to and from either 
IEM or Apple computers. Fast Link will be 
discussed more as the MC-600 Mobile is 
described. 


THE MC-600 MS-DOS MOBIL COMPUTER 


The MC-600 is designed for full 
compatability with the widely used IBM 
compatable systems. The MS-DOS 3,2 DoS is 
built-in to the MC-600 ROM. PSION is 
currently adapting its own Library of software 
into the SSD format. Transportability of 
MS-DOS disk files and programs is provided by 
a built-in PSION Commmications Link. The 
built-in software links any MS-DOS computer 
via PSION's om “Fast Link", a serial 
interface that transfers data at a rate of 1.5 
Megabytes per second. Fast Link works with 
both IBM and Apple Computers. 


Remember, PSION has been a full capability 
Software Enterprise since the beginning of the 
Microprocessor Computer industry. Their vast 
experience and library of software provide a 
combination that is unique in the Computer 
Design industry. Most Computer industries 
build their computers and depend: upon outside 
software support of their systems. That PSION 
is converting their library of software for 
this new line of Mobils promises un-excelled 
software support of these computers for years 
to come. 

While the PSION MC-600 uses MS-DOS which 
has wide software support, most new carputers 
that have new Operating systems suffer from 
lack of software support. PSION's in-house 
software capability promises full software 
support of the MC-200 and MC-400 from their 
beginning. (See EMSOFT Ad for specs.) -BJ_ 


5 


To a hundred who wrote: rie ronwany iste of Update uns meited on March 4. Not 
anything to be proud of for sme. Excuse: My apple cart began to titt just after 
Christmas, first with the need for removal of a colon pollup, then an angioplasty 
operation to restore a chogged artery, and then a kidney procedure to blast aumy a 
boulder. ALL this took 32 days in ye ofe hospital. I began to think that I'd have to 
put ina change 0f address card to the postal service. In the meantime about 100 
Letters were received asking Miates iy pagzeines (uheres the beeg?). A dozen on 40 
had $18 checks inside, the writer thinking that perhaps he had forgotten to renew. 
These checks were returned as all writers were current subscribers. I'm back in the 
pink again now, so dont send pfowers. But the bills are beginning to arrive which my 
cause worse pain than did the hidney stone. I thank everyone jor the pleaiantries 
dnekosed in the Letters. (No one sent onions.) P 


HAROLD A. ROMER 
P.0.BOX 32 Compare the PSION MOBIL COMPUTER 


JOHNSON CITY, TENN. to any other portable computer 
37605-0032 now in production. 


I have for sale the following items: 
Dollar for Dollar, feature for 
- = ‘me 1 : 
2 ~ Ts1000 “itn coher Supply/manual feature, it can't be beat. 
2 2x81 -with power supply/manual 
1 - 2X81 With klik keyboard-w/ps & manual 40.00 Model MC-200 MC-400 Mc-600 
2 = 18K menory(1016) 15.00 ea 
1 - 32K (Memot. ‘ 
1 7 GAK Henpey (Memotech) 40:00 cpu tank 90c86 16 bit cHOS ##e 
1 - Hunter board W/4 chip: 8 Speed (Mhz) 7.68 7.68 = 7.68 
1 7 Eprom pane (HAY) for 2X81/TS1000 2/2732 35.00 BIOS mfg Phoenix Phoenix Phoenix 
1 - 32 col ptr (2040) 40.00 RAM Standard 128K 256K 768K 
1 ~ Mennesmann Tally Spirit 80 Ptr. poet RAM Maximum 512K 512K 768K 
1 2 Some RStateres1000 6.00. «fi Screen idieg Mee eahaie 
1 ~ Carry case/81/1000 10.00 type (LCD)  SupTwist Retardation Film 
1- osee ConteBtcal ogg 2600 protocol CGA DCGA DCCA 
1 - Modem for * resolution 640x200 640x400 640x400 
: Ww 30.00 i 
i = Nee a ae atere ¢171000 45.00 col x line 8214 85x14 272 
No. of Keys 69 69 19 
HEHE HHHNENAHHAR HHA HH HARARE Detach keybd no no no 
W's eet Slots Stand 0 0 0 
QL TRIVIA-QLUE Prop 2 2 2 
Battery type  8xAA Alk/Opt Rech NiCad Pak 
HERE 18 GREAT NEW COMBINATION CAHEL 
Pt Sra i ata ce life 60 hr 40 hr 
Tae cette replace yes’ yes 
ate wens 8 7 Ports Ser/Par ya yi 
ee Video Port no yes 
ee OR i, ee ‘out . 
Pee Re TRIVIA, ESTIONS! ROM size 256K 256K 
QUESTIONS COVER EVERY. Software 
HOD er a ae ll PO" in ROM cur MS-Dos 3.2 
Touch pad yes no 
Also included, St 00 extra cost choice of Floppy Stand - 8 
(Specify which you would Like when you order.) Floppy Ext. no 1.44Mb 3,5" 
wu" Hard Disk no no 
VE THINK YOU'LL LIKE THIS OWE! 
OUR PRICE? OLY S19. 95 +42ph RAM Disk OK 1 Mb intern 
AVAILABLE EXCLUSIVELY FRORS Maximum 2hh Gib 
RMG ENTERPRISES Slots 4 4 


Fast serial 
transfer ***** External Option ***** 

Modem weeee External Option *#*st 
Microphone yes yes no 
Speaker yes yes yes 
Programing 

language OPL OPL n/a 
Dimension RE 1204" x 8.9" x 19" tat 
Weight (lbs) 4.3 43 4.3 
Warranty Rethtett 17 months tetterte 
Price $1199 $1699 $2999 


BRRHHHNHHHHEHHHRRRRHHRARHREE 


‘We cary ALL hardware and software lines for the Sinclair QL. 
We also carry the 288. 


WRITE FOR FREE CATALOG 


Sharp’s, Inc. 


Rt. 10, Box 459 
Mechanicsville, VA 23111 
(804) 746-1664 or 730-9697 


Call for current quote from 
EMSoft 

Box 8763, Boston, MA 02114 
(617) 889-0830 


A New 298 publication nas surtaced. 288 Fax News is propagated by Fax 


line or mailed to subscribers who do not have FAX. 
of the issue received is duplicated below. 


One of the four pages 


Update Magazine presents this 


as NEWS ONLY and does not necessarily endorse the 288 or 288 FAX NEWS. 


Fax NEWS 


ruary 1990 


Cambridge N, America 
Is cash a 


problem? 


So is Cambridge North 
America broke or aren't they? 

One CNA employce was 
quoted as saying, “We are very 
alive.” Others agree. 

But reports still keep com- 
ing in of financial dire straits. 
Some say CNA owes Cam- 
bridge UK more than $1 
miilion. Others say CNA has 
bought more ads than it can 
afford, Some people say CNA 
is simply bankrupt. 

As is often true in research- 
ing the records of a company, 
researching CNA has proved 
to be no less than confusing. 

The search for the truth 
begins with CNA’s name. 

Marc Giguere of CNA said 
CNA is merely an assumed 
name for SSI Computer Sys- 
tems, Inc., a Delaware com- 
pany. 

SSI is not to be confused 
with SCT. SCI is the company 
that makes the Z88 and IBM 
and Wang keyboards, he said. 

Giguere said Diversified 
Foods owned New England 
Sales, Unicorn Transportation, 
and Cambridge North Amer- 
Ica. 


Publisher et 
Facsimile... 
2342 Glendale Ave. 


Page Three 


Z88s not just for little guys 
It’s small, but “big’ people still use it 


The Z88 has always been considered by 
non-Z88ers to be powerless just because 
of its size. But several famous people have 
proven size isn’t everything. Many people 
that are in the public eye are buying laptop 
computers and the choice for some has 
been the 288. 

Singer Mel Torme, the jazz duo Tuck & 
Patti, comedian/magician Teller of Penn 
and Teller, and Anchorage Daily News 
Editor Howard Weaver are all in the ranks 
of those who own Z88s. 

Mel Torme uses a Z88 and it’s said that 
he is currently writing a book on it — that 
is using it, not about it. Cambridge North 
America has also reportedly approached 
him about a making a televsion 
commercial for them. It is stll unknown 
what will come of this. 

Tuck of Tuck & Patti, an internationally 
famous jazz duo, is said to be a real power 
user. Tuck has a $12K RAM card in the 
first two ports and several EPROMs to 


use in the third. Tuck supposedly uses it 
all the time and takes it everywhere. 

Teller, the silent half of Penn and Teller 
from New York City, surfaced on the 288 
BBS in Torrance, Calif. (BBS phone 
number: (213) 370-2754), Teller has a 
Z88, but not much else it certain — after 
all, he is the quiet one. Peon and Teller, 
though, apparendy have been computer 
buffs for some time. Atone time they — or 
some real good fans —,were running a 
Penn and Teller Fan Club BBS. 

And even Howard Weaver, the editor of 
the Anchorage Daily News, uses a Z88. 
He has written a few interesting programs 
for it and is considering buying Z88s for 
his reporters. 

Z88 Fax News will keep its readers 
updated on famous Z88 owners. Watch for 
more articles on this subject in the next 
few months. 


— Curtis Claar 


Casper, Wyo. 82601 
Fax or voice (307) 766-7026 


Welsh company sells lnkup packages 


He said that 4-5 months 
ago, Diversified Foods was 
bought by the Bank of Boston 
and Cambridge North America 
subsequently separated from 
the conglomerate. He said 

see CNA 


page three 


The Music Suite Ltd, in 
Wales is now offering two 
linkup packages for the Z88, 

They have been offering a 
hardware and software linkup 
package for the Atari ST for 
nearly two years now and last 
year they came out with one 


for the Amiga. They have 
plans for a PC version as well. 

The Music Suite is run by 
Adrian and Helen Wagner and 
Francis Monkman, 

“It has always been our 
intention to fully support our 
software,” Adrian said in a fax 


7) 


letter last month. Because of 

this, they claim to offer more 

than simple dump programs. 
According to advertising, 

the programs also route Z88 

printer output to printers con- 

nected to the ST or the Amiga. 
A review is forthcoming. 


The Z88 and Telecommunications 
by Dave Bennett 


The Z88 is particularly well 
suited for communicating to modems 
and other computers. A serial port 
which communicates up to 38,489 
baud, a VT52 terminal program and 
a dedicated file transter utility 
are included with the stock 288. 
The Z88 also weighs only 2 pounds 
and is easily transported right 
next to the device you want to 
communicate with. 

My Z88 is mainly used to talk 
to a pocket modem and a @L. 286 
files are archived on a QL disk. I 
also occasionally communicate with 
PCs at work and other 288s. 

I have designed and built 
cables to communicate with the @L, 
PCs and other 288s. I built the 
modem cable from recommended 
pinouts by Cambridge. 


The @L cable is as follows: 


zes8 al SER2 
2 -- 3 
a- 2 
1-4 4 
1-5 t s 
6 6 
Pies 7? 
Lio - aed 8 
ond 9 


I have tried several other 
designs for a Z68 - @L cable but 
have not found a cable that works 
as well for transfering files. 

What I-use to transter files 
are @Link for the @L and Z88COM 
for the Z88. @Link is a shareware 
terminal program from Harvey 
Taylor. It includes CRC and 
Checksum xmodem as well as many 
other features. zeecon is a 
publicly available terminal 
program from Phil Wheeler. It 
extends the built-in VT52 with 
checksum xmodem and some other 
features. Phil also operates the 
Z88 BBS in Los Angeles. 

1 basically connect the 
computers with the cable and = run 
terminal programs which utilize 


xmodem on each machine. You set up 
one machine to send and one to 
receive. Then you start the 
transfer on both machines at the 
same time. 

You can transfer ascii files 
without xmodem by various means 
but I prefer to use xmodem. It 
provides error checking in the 
transfer so you know the files are 
transfered OK. You can also 
transfer any type of file even 
machine language. 

zes to PC and Z86 to 289 
transfers work similarly. On the 
PC I prefer to use PROCOMM. It is 
a powerful program and extremely 
easy to use. I would like to see 
it made available for the QL. For 
2788 to Z88 transfers I am using 
Z88COM on both machines. 


The Z88 - PC and Z88 - 288 
cables are as follows: 


288 DB? 


PC DB2S 


There also is a variation on 
Z88COM called Link by Dave 
Armstrong which turns the 288 into 
a mini BBS. There are no message 
facilities but you can transfer 
files. All typing is done at a 
remote computer. The Z88 just sits 


there. It is similar to PROCOMMs 
Host Mode. It works well connected 
to a computer in the same room. 
Modem facilities were removed from 
this variation but you can connect 
to the modem and then switch to 
Link by hand. With this program 
you can transter files with 
Someone across town at a 
prearranged time. You could even 
transfer QL and 2068 files. 

There also is another program 
available for the Z88 called ZFU 
by Richard Haw. This is a utility 
which takes many files and 
archives them into one large tile. 
In the process it compresses the 
files so the resulting large file 
is much smaller. You can archive 
all the files in all the ram 
devices of the Z88 into one file 
and just backup that one file to 
your @L or whatever. 

The Z88 also works nicely with 
any Hayes compatible modem. 


Here are the official modem 
Pinouts from Cambridge: 


The Z88 includes a built-in 
vTS2 terminal emulator. It works 
quite nicely although you have to 
dial manually with Hayes AT 
commands. It is also easy to send 
and receive ascii files with just 
the built-in software. The 
built-in VT52 also connects quite 
nicely to a VAX mini computer once 
you tell the VAX you have a VTS2 
with 8 lines. 

But I like Xmodem. A terminal 
program was developed in England 
which provides xmodem. The 
disadvantages of this program are 
its high cost and it also adds its 
own protocol in place of the VT5S2. 
The built-in VTS2 works .much 
better. 

Fortunately Z88COM came out 
which provides xmodem but works in 


concert with the built-in VTS2. 
Z88COM is also much cheaper. In 
most cases it is available for the 
cost of a download, ZS8sCOM can 
also autodial and autologon to 
five systems. It has a message 
upload feature for sending text 
files. All in all it is a great 
program. 

The latest I heard was that 
Cambridge just came out with a 
VTi9®@ terminal program. I have not 
heard too much about this. The 
VTi98 can display graphics from a 
remote IBM or VAX. It moves the 
cursor around your screen on 
command from the remote system. I 
am not too sure how well this will 
work on the Z88 with its 8 line 
screen but it sounds interesting. 

The Z8@s portability and sheer 
connectivity to anything speaking 
RS232 make it a great little 
computer for telecommunications. 


HARK 288 USERS: (waar a nice cuy!!) 


Dear Bill, I have been trying to 
promote the 288 for about two years. I 
have about 350K of 288 programs and 
related OL programs that were downloaded 
fron two main 288 BBS: 703-968-9438, 
213-370-2754, and GEnie. 

I can put the files on a QL 720 sector 
disk or a IBM 360K disk. In the case of 
the IBM disk I will substitute some IBM 
programs instead of QL programs. See 
below: 


288 Public Domain and Shareware Programs: 


(Approx 350K of files) 


Available on QL DSDD 720 sector disk or 
IBM 360K disk. The QL disk includes 288 
related QL programs. The IBM disk 
includes IBM related files. 


PRICE: A dollar to pay for mailing, or 
two dollars to mail in a disk mailer. 


David Bennett 
329 R. Walton St. 
Lemoyne, PA 17043 


THE SINCLAIR Ql 


(| BITCH! BITCH! AND DO NOTHING ) 


"My Sinclair QL is 40 un-neliahke that I cannot get a simple one page Letter done without 
the QL crashing. The crash usually happens when the refrigerntor or funnace kicks on.” This 
complaint was received a year ago from a OL Subscriber. Still, almost every week I talk toa 
QL user who is still having such problems in varying degree. THERE IS NO EXCUSE FOR HAVING 
SUCH PROBLEMS ANY MORE!! Read on-- 


March 17, 1990 
Bill Jones, 


The Q/L on which this letter is being composed has been 
modified per Dan Elliott's article. (July 1989) The lock up 
problems associated with the Q/L power supply plaque me no 
more. There is no longer a need to save text every few 
minutes. The only lock up experienced now is caused by 
conflicts between the software and the inputter. 


The Coleco power supply is enclosed in a fabricated, black 
case, with openings for air flow and ts now sitting on the 
floor providing cool uninterrupted power. This modification 
is not difficult, it's not expensive, and is highly 
recommended. Tell everyone to do it themselves or call Dan, 
but get it done! 


My confidence in the Q/L is now such that I am in the process 
of putting together a disk drive system and saving for a 
Trump Card expansion. The microdrives work fine, usually, but 
I would prefer a faster, more reliable systen. 


Ha !! The furnace just came on and someone started the 
microwave and I am still input'in. To bring this to a close, 
I thank you and all who contribute to the cause of keeping 
the T/S computers working; the writers, programmers, and 


dealers. 

Sincerly, Dan Elliott Repairs all Computers 
AX RR-1, Box 117 Specializes in repair 

Donald R. Yones Cabool, MO 65689 of QL and TS-2068 

1900 Sunvale Tel 417 469-4571 Power mods for both 

Olathe, KS 66062 (weekends) 


_ (ry Coleco Ps SiTs uncer ‘The mon sT2.) 


Ed note: Need I say more? But I will. Some QL users get the downs because they are 
affected by the dis-respect fran the Yuppies, the ridicule from the $5000 IBM users, the 
syndrane "I only paid $100 for it so it must not be very good", and the "Sinclair abandoned 
us syndrome". ANYTHING to bolster insecurity and lack of self esteem. But others are 
bragging that their QL does 10 times as much as the IBM AT. I guess that is the difference 
between the pessimist and the optimist. You know what I mean. The pessimist believes that 
the sky is falling upon him, while the optimist believes that the sky is rising with him in 
it. Me? I believe that when one has a problem he should fix it. When it is forecast to 
rain I leave my hat behind as I go fishing. On Sunday I believe that the preacher will soon 
quit talking. I'm always sure next months bills will be less, that Ed McMann will send me 
that million that he promises, and the Wife wont have a headache. Don, my QL is working fine 
too! But work on that interface conflict, and you'll overcome. -BJ_ 


10 


Ruminations From The QL Editor 


There is a lot of interest among QL users about 
the PC world and MSDOS operating system. Its 
makes sense because the influence of PCs on 
personal computing is tremendovs. Digital 
Precisions emulator, PC-CONQUEROR, makes it 
possible for any QL user with disk drives and 
memory expansion to turn their QL into a quasi 
PC. This is certainly a novel capability and 
has useful applications but be aware that the Ql 
makes for a SLOW PC, The QL is a fine computer. 
With disk drives, memory expansion, or TRUMPCARD 
it can still hold its om against a PC. It is 
slower in many ways but has capabilities that 
most PCs do not. If you use your QL effectively 
you’ can still work as fast or faster on it than 
most PC users can on their canputers. It can 
serve you well for years to came. 

to use your QL effectively probably makes 
more sense than playing around with MSDOS on 
it. The purpose of UPDATE Magazine is to 
help you reach that maximum potential with your 


Qh. 

That said, I need to explain why we are 
giving so mich coverage to MSDOS in this issue. 
It’s definitely not because we fee] that the QL 
is dead and we all need to swtich to MSDOS. 
It's because we want to provide information to 
our readers. There are many QL users who are 
curious about MSDOS and many others who work in 
both the QL and PC worlds. UPDATE needs to 
check out QL Software related to PCs such as : 
DISCOVER (allows QL PC disk conpatility, $40), 
PC CONQUEROR (PC emulator and allows QL PC disk 
compatibility, $15077). PC software related to 
the QL include : PSION's PC-FOUR (PC versions 
of QUILL, ABACUS, EASEL, and ARCHIVE,$99). 


This issue is packed. Part III of David McCall's 
WINDOW DEFINING series focuses on SUPERBASIC 
procedures. 
Peter Hale starts a 2 part series on TEXTS7. 
Al feng clears the air about ROMs on the QU. 
Bob Hartung shows how to set up an ARCHIVE 
address database. 

Bill Jones shows us some QUILL printer 
driver tricks. 

We have lots of coverage of PC CONQUEOR and 
MspoS with articles by both Bob Hartung and Al 
Feng. 

There are a couple of articles about the 
TS-2068 that the QL users may benefit fram, One 
is about Dot Matrix printer drivers. The other 
is a Business Software for the TS-2068, done in 
Basic. This excellent program offers a 
challange to the QL users to clone it in Super 
Basic. The benefits will be worth the effort 
and the conversion should be good practice. 

Finally, I explore the QL-PC connection 
through ARCHIVE by showing how I converted one 
of my ARCHIVE programs to work on a PC. And 
there is more. 


Next issue David McCall will tie up his Window 
Defining series and we will have an Issue Disk 
of it. Peter Hale will continue his in depth 
description of TEXT87. More of Timothy 
Stoddard's TRUMP CARD Manual. 


Don't forget about the 1990 Sinclair Computer 


Exposition in Milwaukee hosted by SMUG on the 
weekend on June 2&3. See You there. 


li 


WOOD AND HIND COMPUTING 


Bill Cable : RR 3 Box 92 : Commish, NH 03745 


CABLE COLUMN 


QL - ARCHIVE - PC 


Databases are specialized programs for efficient 
handling of both text and numeric information on a 
computer. Anyone trying to put their computer to 
good use should be using a database in one form or 
another. As many of you know I am a great fan of the 
ARCHIVE database and programming language. I write 
commercial software with it. For handling 
information on a QL it has no peer for its 
capabilities. This is not to say that there is not a 
price to pay for using ARCHIVE. Either you have to 
lear how to use its programming language or you 
have to buy ARCHIVE programs. Other alternatives 
include buying FLASHBACK or write or buy database 
type programs written in SUPERBASIC or other 
languages. 


In earlier issues of UPDATE I have tried to explain 
the basics of using ARCHIVE, Now that I see there is 
so much interest in MSDOS by QL users I want to push 
ARCHIVE from another angle. If you want to be able 
to do something useful on MSDOS computers then learn 
the ARCHIVE language on your QL. 1 have been aware 
that there is PC version of ARCHIVE. But wntil 
recently 1 have had very little experience on MSDOS 
machines (PCs). After tackling my first serious 
conversion attempt (making DBEasy work ona PC) I 
would say I am already close to being an expert with 
PC-ARCHIVE because the PC and QL versions are so 
similar. Almost all of the ARCHIVE I have learned on 
the QL can be transfered directly to the PC. DBEasy, 
my ARCHIVE database manager, is now available in 
both QL and PC versions (see my ad). The importance 
of this QL-PC connection should not be minimized. 
fransporting software and experience from one 
computer to another is generally a very difficult 
process. If you take an elaborate SUPERRASIC program 
and try to convert it to rum on a PC using one of 
the PC BASIC languages, almost certainly you would 
have to make major changes to the code and a lot of 
learning to do as well. So learn the ARCHIVE 
language on your Ql and you can apply what you have 
learned directly to a PC, You can transfer your 
databases and programs to a PC as well. And its not 
like ARCHIVE is an inferior language. I still 
maintain that it is one of the nicest languages 
around. Its a nice structured procedure oriented 


superior database for PCs. Just 
ignored by the masses, PC-ARCHIVE is ignored even 
though it is a fine database. And compared to the 
price of DBASE or PC database programs it is a 
bargain. 


This Cable Colum is going to describe how I went 
about converting my DBEasy program to the PC. This 
included purchasing a PC computer, the Amstrad 
PPC640 portable, and learning a little bit about 
using MSDOS. I will also give sane statistics 
comparing DBEasy’s performance on the QL and on 
different PCs. We already have ARCHIVE for our Qis. 
For the PC you must purchase it as a package with 
QUILL, ABACUS, and EASEL called PC-FOUR. The price 
is about $99. It can be purchased from me (see my 
ad) or EMSOFT or RMG or Sharps. If you work on a PC 
it makes sense for you to have PC-FOUR because you 


use the same programs on your Ql. The PC versions 

also have extra features. It's pure folly to 

purchase PC-FOUR to use soley with PC-CONQUEOR. The 
- QL makes a poor PC, 


Choosing a FC 


Before I could do serious PC work I needed a PC 
computer. DBEasy swamps PC- so I couldn't 
do the work on my QL with the emulator. Even if it 
worked, life is too short for its snails pace. The 
possible choices for a PC are limitless. They range 
from an XT type (8088 or 8086 processor) or an AT 
type (80286) or an 80386 machine with prices from 
$500 to $2000. My final choice was a portable by 
Amstrad, the PPC640, It is an XT type but the 8086 
processor has a 16 bit data bus so it is almost as 
fast as an AT of similar clock speed (8 Miz). It is 
too heavy to be a laptop but is totally portable and 
takes little space to set up. It will run from 
batteries or 12 volt DC (as in a car) or norml 
house current. I have my own home power system and 
the fact that it uses only 20 watts of power and I 
can run it on 12 volt DC were big pluses to me. I 
also liked it having a full size AT style 
keyboard, It has two 720k 3 1/2 inch drives. It has 
an LCD screen (no backlight) but will also plug into 
my Magnavox RGB monitor with OGA display. I use the 
same monitor with my QL. The PPC640 also has a built 
in 1200 baud modem with phone connector and is 
provided with software to run it. It has 2 serial 
ports and 1 parallel port. I bought it from 
UNDER-WARE Electronics (800-442-1408) as advertised 
in Computer Shopper for $700 plus $25 shipping. 
Although still available, it is no longer in 
production and was originally suppose to sell for 
something like $1200. There are also versions with 
one disk drive and no modem available for less. It 
comes with DOS 3.2. It has worked flawlessly for me 
and I recommend it. The keyboard action is not the 
best but works fine. The drives are quiet. The LCD 
screen needs good room lighting but is adequate. I 
have found it to be fast compared to my QL mostly 
because of mich faster screen handling. There is 
suppose to be a 20 Meg portable hard drive available 
for $300 but I don't have it yet. It is certainly an 
inexpensive way to break into the PC market place. I 
have a comprehensive payables/receivables package 
for hone and small businesses written in QL-ARCHIVE 
that is almost ready for release. By converting it 
to PC-ARCHIVE, I have a package to sell locally to 
small businesses. Later if things go well I will 
consider getting a more versatile 386 machine. Have 
I abandoned my QL? No way! I consider Q00S a more 
flexible operating system than MSDOS and I like 
being able to multitask. I don't want tg abandon 
SUPERBASIC with its excellent language for making 
quick programs with very flexible graphics. Even if 
slower in some respects, I can still work faster on 
my QL because of its excellent features. In the 
future I will work on both the QL and PC machines. 
It is certainly nice to have the 4 PSION programs 
available on both. 


The DBEasy Program 


DBEasy is a front end database manager for ARCHIVE. 
It allows you to use most of ARCHIVE's features 
without having to know anything about its language. 
It allows the user to create and manage all Sorts of 
databases. It is a large complex program (55k on the 
Ql and 56k on the PC) but very simple to use. As 
with any friendly software most of the development 
effort went into making clear and simple menus and 
displays. ; . 3 ae 


Transfering DBEasy to a PC 


Now that I had a Ql, a PC, ARCHIVE for both I next 
needed to transfer my QL files to the PC. There are 
at least 2 ways available. The best way is to use a 
QL software like DISCOVER or to copy 
them to a PC formated disk on the QL and take the 
disk to my PC. I couldn't do that because my QL has 
5 1/4 drives and my PC has 31/2 drives. I have 3 
1/2 drives on order for my QL from RMG to make life 
easier. SoI had to.use the serial ports on my Qb 
and PC to transfer the files. I used the 
communication software, MIRROR II, on my Amstrad to 
commnicate with my QL which had software so it 
emilated a VT-52 terminal. I had some trouble 
figuring out the cabling. Peter Hale provided the 
necessary expertise to finally get it working. After 
that it was simple. Only text (ASCII) files can be 
transferred. This means I have to have my ARCHIVE 
programs in _prg form rather than _pro form. If you 
save a program in ARCHIVE with the SAVE "filename" 
command then it is saved in ASCII format (_prg). If 
you save it with the SAVE OBJECT "filename" command 
then it is saved in binary format(_pro). Normally 
you keep large programs in binary format because 
they load faster but for transfering to the PC I had 
to put them all in ASCII files. Also my databases 
had to be in export (_exp) files (ASCII) rather than 
database (_dbf) files for the same reason. Since 
screens (_sm) are not ASCII files I can't transfer 
then. I must reconstruct them with the ARCHIVE SEDIT 
command on my PC. After transferring I started 
PC-ARCHIVE, imported the databases, rebuilt my 
Screens, started DBEasy and changed code where 
problems existed. 


Sane differences between QL and PC ARCHIVE : 


The most important difference for me is that there 
is no POSITION camvand and RECNUM() function in 
PC-ARCHIVE. I like to use those features to keep 
track of where I amin a database. If you use the 
FIND command it is nice to know how far you are in 
the file if you find -, They have been 
xeplaced in PC-ARCHIVE by a more powerful ordering 
and selecting process that allows youto keep 4 
ordering and 1 selecting definitions at the same 
time and switch between them. This is a very 
Powerful feature but my code doesn’t take 

of it yet. The BACKUP command works differently in 
the 2 versions. On the Ql, it is similar to a general 
file copy command but on the PC it only works on 
databases and does a record by record copy. In 
PC-ARCHIVE there is no FORMAT command. There is no 
RENAME command in QL-ARCHIVE, The PC-ARGHVE has 
more canplexities with paper and ink colors because 
mono and color monitors display differently. 
PC-ARCHIVE and the other PSION programs have a 
special task sequencing language (TSL) which can be 
used to control the program at startup, This allows 
me to have ARCHIVE and DBEasy. start up 
automatically, something I can't do with QL-ARCHIVE. 
These are the major differences I have discovered 
when I tried to run DBEasy on the PC. The hardest 
part was dealing with all occurences of RECNUM() and 
POSITION in my code. I have worked out a display 


can plan ahead so conversions will be much easier. 
Since PC-ARCHIVE has more features than QL-ARCHIVE 
it will not be as easy to transfer back to the QL 
once I take advantage of those features. 


12 


DBkasy Performance Chart (time in sects) 


Shee as tee HOOD AND WIND COMPUTING 
DBEasy QL IBM PC PPC64O AT aT SOFTWARE FOR THE QL and PC 


Task ™hz 4Mhz @Mhz 10 MHz 20MHz 


tad 69~«O«SASSSTSSABSCL QL SOFIMARE 


Find x i 9 
Hed, 15 7 2 GOS HISTERS 5 « group of surenaasic and 
step 58 50 19 12) «8 ARCHIVE programs (DIRLUX, FILEX,DBEasy) that 
10 records will help organize = all._—your 
disks/microdrives so you can make sense out 
Display 17 20 7 5 2 of them. It includes DIRlux which 
new page displays/prints directories is a colum 
format and ahs a file finder. Also included 
sum 3 9 4 2 1 is FILEX which makes a export file for 
Population ARCHIVE of your disks so you can make an 
instant database of all your files. You 
Order 13 18 9 7 1 : import the FILEX export file into ARCHIVE 
by ‘country’ with DBEasy which is also included. DBEasy © 
is an easy to use front end for ARCHIVE so 
Locate 4 4 2 9 2 é you can make and manage all sorts of 
"SWEDEN" databases without knowing the first thing 
about ARCHIVE. DBEasy is also available 
Select 19 24 12 7 2 separately and is described below. CHAOS 
‘Europe’ BUSTERS is tied together through a Main Menu 
2 So you can do move around easily between the 
In the chart above I give elapsed time for DBEasy to options. It is supplied with ample 
do various tasks ona few different computers. I documentation plus extra software not 
used my DBEasy program with the gazet database (155 described. If you already have DBEasy you 
countries of the world) modified for DBEasy. The can purchase CHAOS BUSTERS for $9.95. 
time is in seconds. The 20 MHz AT used DBEasy from ($29.95 5 1/4 or 3 1/2 disk) 
hard drive. On all the others it ran sil pee TREss 
drive. I must say that using DBEasy on iz . ; 
machine was almost intimidating. You couldn't slow ; amen eARSHIVE ogee that makes (Using 
it down by doing anything. Some may be horrified to simple menus You don't need to knw 
see how slow the QL is. But except for the tasks fend : h of any 
which ; ARCHIVE commands but still have most of 
require heavy screen work the QL gives very ARCHIVE’ 
S power. It allows for the creation 
acceptable responses. And those that were slow like and H £ databases 
stepping through 10 records are adequate because you trp ig eke oes ail 


applications. You can easily switch any of 
your databases. ($21.95 on 5 l/4or 3 V2 
disk, $24.95 on 2 micro) 


wouldn't be stepping through the records unless you 
wanted to read them and you need that mich time for 
absorbing the information on the screen. Also notice 
that finding things in a database Rd Lats 
efficiently done by ordering and using locate i: | 

possible. Locate is fast and is pretty mich FC Software for IBM compatibles 
independent of the database file size. 


PC-EOUR by esto : the same QUILL, aRAcs, 


How do we judge the QLs performance against the FASEL, and ARCHIVE that you use on your QU 
other machines? I, QL much slower in its screen for the PC. They have more features than the 
handling. This is evident in QUILL and ARCHIVE. I QL version. They come on 5 1/4 360k disks 
tried SPEEDSCREEN and LIGHINING but they didn't with a thick manual and a tutor disk that 
improve the times. Sane programs still menage to make it easy to learn how to use them if you 
give fast screens. The EDITOR and TEXTS7 are don't know already. I will include 
examples. Also the Qu was multitasking QUILL while free with any purchase of PC-FOUR.($99 on 
DEEasy was being run. That didn't affect speed 5 1/4 disks) 
of doing the tasks ‘because QUILL was sitting idle DRE 
None of the other carputers can multitask. None of Y : for those who aready have : 
the other computers can network either without PC-ARCHIVE I offer DBEasy in a PC version. 
expensive equipment. And the AT machines cost 2 to 5 Tt works almost exactlty like the Ql version 
times as mich as the QL. At same point I will try and you can export QL DBEasy database to the 
these same tasks on a THOR and pass on the results, PC and back. ($21.95 on 5 1/4 or 3 1/2 
It should be mich closer to the AT machines. If you disks) 
Were to judge the QU purely on response times it 
shows its age. If you judge it on overall features le! ite a. 
taking into account its powerful operating system, : 
its cost, and how much you can accomplish with it z : 
then it still can hold its om against most Pcs. Wood and Wind 

(Bill cable) 
Ihave quite a group of Q& Softwares and I'm RR-3 Box 92 
developing more for both the Ql and the IEM. All Cornish, NH 03745 
are priced low for what they do. I will list four 603 678 2218 


of my newest. I invite you to call or write for a 
complete listing. Bill Cable. iN per 


SETTING UP QUILL FOR PRINTERS 
Setting up TYPEFACES for F4 


WALL Version 2.35 (or anu) 


© 

The ITNSTALL_BAS" program in our PSION suite 
is used to do all of these jobs to make our 
printer do what we want it to do. INSTALL_RAS 
is used to revise our PRINTER_DAT program in the 
PSION suite for use by the Quill, Easel, 
Archive, and Abacus softwares. So, how do we do 
it? Peter Hale gave one way to do it in the 
last issue of Update. This time we will do it 
ina simple fashion. If you had trouble with 
the procedures given in Peter's article, try 
this and when it works, go back to Peter's 
article for a more elaborate printer control set 


“P- PIRST A DEMONSTRATION: 
This and the above style is gotten by use of 
the F4 Key and "B for BOLD" 


This style is gotten by use of the F4 Key 
and "U for Underline”. 


This style is gotten by use of the Fé Key 
and "H" $0 High Script”. 


This style is gotten by use of the F4 Key 
and "L for Low Script” 


Such Combinations «4 these three lines 
demonstrate axe gotten by using the F4 Key and 
repeated electives of "B, H, L, or U". 


But what about this style of print that 
comes up as “standard” when PRINT is elected at 
the Quill Command menu? Well, the normal 
“printer_dat" program puts you in "draft quality 
mode", while this style is "Letter Quality" 

OK. The illustrations are just to show that 
the quife F-4 Key electives for TYPEFACE need 
not be for the print styles given to us in the 
PSION suite. In fact, each type of printer has 
its own typefaces that can be substituted for 
such PSTON) of4nctives as “high script) low 
script, and . And, you can set in any 
style that you choose for these F4 electives. 


The styles demonstrated are those that I 
elected to install in the Printer_Dat program 
for my KXP-1124 printer. Each user needs to 
decide what style is wanted and then proceed to 
change the Printer_dat program to his needs. 

This is done by using the Printer Manual to 
find the Command Codes to “install” in the 
Printer Dat program. The "process of 
installing" is via the use of the “INSTALL BAS” 
program that is in your Quill disk (MDV).~ 


Now Lots do it! 


The electives given in the steps below are 
my own for my printer. Use your Printer Manual 
to substitute the canmand codes for the 
electives that you choose in each of the steps. 


1. Leave FLP1 and MDV1 Empty and turn ON the 
QL. Then the Fl Key will put you in Super 
Basic. 

2. We will use FLP commands but you can use 
MDV instead. 

3. Remove the write protect tab on the 
floppy. 

4. TYPE: LRUN FLP1_INSTALL_BAS 

5. When the Install_bas program loads you 
will need to: 

a. elect the drive that your Quill disk 
is in. 

b. elect the ser port that you use for 
your printer. 

6. The “Current Printer_Dat program will be 
loaded and this begins the process of installing 
your own printer codes. 

7. A list of different Printers will be 
presented. 

8. Use the Down Arrow key to highlight 
9. Use the Right Arrow Rey to erase OTHER 
and then type in the name of your printer. 

10. Use the F2 Key to EDIT. 

ll. ‘The printerdat set-up will be 
displayed. 

12. Use the down arrow key to elect each of 
the following lines to edit. As each line is 
highlighted, use the right arrow key to erase 
the line (if needed). Then type in the new 
line. 

a. PORT: Make this the Serial Port that you 
use for your printer. 


b. BAUD RATE: Should be 9600. 

c. PARITY: None. 

d. LINES: 66 + 

e. CHRS/LINE: 80 for Pica, 96 for Elite, or 


larger for other smaller styles of print that 
you want THIS Printer_Dat program to control. 

£. CONTINUOUS FORMS: YES. 

g. END OF LINE: CR,LF (carriage return and 
line feed). 


Now we will begin to set in your SPECIAL 
PRINTER to SET your desired functions. 


h. PREAMBLE: This sets the printer when 
“print is elected with Quill or one of the 
other PSION softwares. 1 chose to set the 
following (command codes for KXP-1124) 

27,120,1,27,107,2 (This sets LETTER QUALITY 
and then Courier Font, and then ELITE STYLE). 

Refer to step "e" above. For this ELITE 
style the CHRS/LINE setting is 96. 


i. POSTAMBLE: Here we want to assure that 
when PRINTING has been done, the FORM is fed up 
to the start of the next form. Insert: 

FF,CR (Form Feed and Carriage Return) 


j. BOLD ON: ‘The Printer Codes for the Type 


14 


Style that you want the F4 Key to control: 
choice was: 

27,119,1,27,69,1 (the first three sets 
DOUBLE HIGH. The second three sets EMPHASISE 
MODE (double strike).) 

k. BOLD OFF: Use the OFF codes for each of 
the ON codes used in j above. In my case the 
OFF Codes were: 27,119,0,27,70 


My 


1, UNDERLINE ON: My printer codes used for 
Underline ON was: 27,45,1. I decided that if I 
wanted to Underline something, I'd also shift 
into EMPHASISE MODE, 27,69,1. So the six 
commands are entered as: 27,45,1,27,69,1 

m. Use the OFF codes for each of the ON 
codes in 1 above. (27,45,0,27,70) 


n. HIGH SCRIPT ON: I decided to use my 
printer's Script font, which is gotten with the 
codes: 27,107,4. 

o. The off codes for the above is to return 
to the Courier font, which is: 27,107,2 


p. LOW SCRIPT ON: I decided to use my 
printer's ITALIC style and DOUBLE STRIKE, the 
conmand codes: 27,52,27,71 

q. Of£ Codes for the above are: 27,53,27,72 

x. This ends the Printer_Dat set-up, and 
none of the other lines were changed. 


13. NOW WE NEED TO DO THREE MORE THINGS: 
I'LL STEP IT OUT A, B, C. 


A. Run the cursor up to the NAME (first 
line). 


B. Touch F2 to SAVE. Your new Printer_Dat 
program will be SAVED to disk or mv, 

Cc. Touch F5 to INSTALL. Your PRINTER _DAT 
program will be Installed as the one to use when 
PRINT is elected by one of the PSION programs. 


Then Lets do it again! 


WHY? Well, I'll give you sane of my 
illogical reasoning. 1 ihe to keep things 
veery sunpfe. Instead of putting ina lot of 
special key codes, you'll now have ONE disk or 
mdy for ELITE STYLE. The F4 Keys are set up to 
give you the examples used in this article. 

Next, REPEAT the steps given for setting up 
another Quill Disk for PICA 80 chrs/line, and 
still another for "another style". 1 set up my 
third disk for the nice MICRON 120 chrs/line 
that my  KXP-1124 has. To do these two 
additional disks only required changing two 
lines, the line for CHRS/LINE and the Preamble 
line for the SET-UP UPON BOOT IN. 

There are several reasons that I decided to 
use separate disks for the three styles. First, 
the PSION suite does not let you have different 
"DESIGN" for successive printed pages. Then, 
the different widths of print (Pica, Elite, 
Micron) mixed in printed lines would cause 
FORMAT inconsistancies. Even so, there is one 
slight problem with this Printer_dat. When 
using BOLD, the characters are DOUBLE HIGH. For 


the best results BOLD should be used only for 
HEADERS, and for printing on the FIRST line of a 
separated paragraph. Otherwise when BOLD is 
used for more than one line there isn't any 
separation between the two lines. 


YOU COULD SEP UP LESS SPACING BETWEEN LINES 


One could set up other PRINTER_DAT programs 
to use CONDENSED PRINT or SUPERSCRIPT for 
printing. These styles used for manuscript 
printing need shorter spacing between lines. 
Since I'm not a Lawyer and do not need to use 
“fine print" to hide legalese in contracts, I 
really do not need such small printing. 

But if you do, you can use the line 
to SET the Print style, then superscript, and 
THEN, SET the PRINTER LINE SPACING to something 
other than 1/8" line spacing, say 1/16" for 
superscript, or 5/64" for condensed. Those 
settings would give about 120, or 96 lines per 
page form, and a whale of a lot of data per 
page. Imagine, a print style of MICRON 120 
chrs/line, then superscript, then 1/16" line 
spacing, 1/16", to give 120 lines per page, to 
give over 12000 characters per printed page! 
Or, Condensed 160 Chrs/line, superscript, 1/32" 
line spacing to give 240 lines per page, to give 
40,000 characters per page! (My math could be 


off.) Sumary 

1. Every user should learn to use the 
INSTALL_BAS program to make tailored PRINTER_DAT 
set-ups that your printer is capable of 
supporting. 


2. Once you do a simple new set-up with the 
Install_bas program, you'll remember how and you 
can always revise the _dat program to do 
whatever you want to do with your printer. 

3. Each brand of printer has its own best 
print styles that should be taken advantage of 
with custom Printer_dat set~ups., 

4. While I cannot find much use for setting 
up different styles of print that have different 
character widths, it can be done. One can 
account for inconsistant line lengths of 
separated paragraphs, but mixed widths of print 
in the same line would be difficult to format. 
Also, the DESIGN FUNCTION would not provide 
consistant page length with Mixed styles and 
different printer line spacing. 

5. Asimple approach is to use different 
disks/mdvs for Print styles, with all styles on 
one disk's printer dat having the same character 
width. 

6. If you DONT learn to use Install_bas, you 
will not | have mich lattitude of style 
selections. You will ALWAYS: Print in Draft 
Quality, Pica 80 Chr lines, and your F4 Typeface 
electives will be for superscript and subscript 


styles. These are fixed by the given 
Printer_dat program. 

learn to use INSTALL_BAS. To do so just 
requires a little practice, and coordination 
with the printer manual. EnJoY! _fJ- 


The following article, by David McCall, is second in a series. The first article was 
given in the October 1989 issue. The Program Listing given in this issue can be 
linked with that given in the Oct. issue. Or, the individual programs will work 
independantly. 


WINDOW DEFINING: 
A Program, pact ILI 


by David McCall 


This is the next to last article for the window defining program. The first 
one described the machine language routine which was necessary to swap screens. 
The second one detailed the variety of functions needed and now the procedures 
will be discuss. After this series has been completed you should have a better 
understanding of SuperBASIC's functions and procedures and their variety of uses 
along with a better understanding of the value of using machine code to supplement 
a programs speed and versatility. 

As in the previous articles indentation has been used throughout the writing 
of these procedures. Most of the procedures are straight forward but different 
techniques have been used to illustrate the power and versatility of SuperBASIC 
especially when ToolKit II is installed. Most of the procedures use the Toolkit's 
additional utilities, PRINT USING and CHAR INC. The procedures can be rewritten to 
avoid these routines if it is necessary. 

Let's start off by describing the first procedure at line 4000. The procedure 
is called done and takes four parameters xZ, yk, lenZ, and valueZ. The procedure 
prints the valueZ in a signed field of length, len%, at position xZ,y% and clears 
the default value which was printed at xZ+l,y%. This procedure is used after a 
value has been typed in to update the screen, 

PRINT USING was used to ensure the number lined up properly and stayed within 
its allotted space. The PRINT USING function takes a string as its first para- 
meter, which describes how the successive parameters will be printed. In our case 
the string was made up of a SuperBASIC function FILL$ which creates a string of 
character of a desired length. A '‘-' was concatenated before it to ensure there 
was room for the sign to be printed. For more information on the above functions 
read the Toolkit II manual section 13.1 and the SuperBASIC manual section 
KEYWORDS page 23. 

The next procedures print_list _maxchr, line 4050, and print_list_max_point 
line 4110, displays the maximum number of characters that can be displayed in the 
window (max_xc,max_yc) and the maximum point positions (max_xp,max_yp), the 
graphics origin (xg,yg), the number of pixels which corresponds to the window 
height, and the midway point between the origin and the maximum point position. 
Arrows are printed after each value to indicate which direction it refers to. This 
has proved useful to clear up the confusion about which direction the x and y 
parameters refer to in different commands. 

Remember max_xc, max yc, max_xp, and max yp are the functions written in the 
previous article. The global variables are: 


scl = the SCALE of the window 
xg,yg = the graphics origin defined by the SCALE command 
scr_x,scr_y = the x and y dimension of the window 
brder = the BORDER width 
exi,cyi = the number of pixels a character occupies in the x 
and y directions 
SWAP, swap2 = the machine Language address to swap the command 
and defining windows, respectively 
xp0, yp0, sx0,sy0 = the position and size of the window being swapped 
cbi,cb2,cb3 = the color of the BORDER 
cpi,cp2,cp3 = the color of the PAPER 
cil,ci2,ci3 = the color of the INK 
csw,csh = character size width and height 
doit = the flag which indicates what to display in the 
defining window after a command 


a_or_m = the flag which indicates whether the window is being 
moved or altered in size 


16 


The procedure that does most of the work is recalculate, line 4220. It tak=s 
care of erasing the old window, putting the new one back up, and updating th: 
appropriate variables. Here we see the first use of the machine language routine 
which was loaded into the location pointed to by swap2. As you remember the para- 
meters for this routine are save/recall, origin, and size, see line 4230. If the 
save/recall position is one the previous screen is recalled which is the first 
thing that is done in this procedure. Next it checks to see if the window size is 
too big and adjusts if necessary. The new window is opened and set up. Next the 
origin and size for our machine language swap routine are recalculated, see part I 
of this series and lines 4310 to 4340. The screen is save under our new window and 
then the window is displayed. 

The next two procedures displays information to the user. The first, results 
line 4400, displays all the relevant information about the current window, the 
defining window, that is being constructed. The second one, commands Line 4690, 
prints a table of the commands that are available. Everything is labelled, placed 
and colored to ease in reading. An interesting approach has been used to print 
this information. One color of text is printed at a time and each time the ink 
color is change the cursor is repositioned at the top and the next mask is 
printed. This is accomplished by using OVER 1 and tends to save some memory by not 
repeatedly changing the INK color over and over again. 

The display procedure, line 4790, is an added visual feature which as proved 
useful in creating windows. It fills the current window with 'QL' or puts a hash 
at the graphics origin depending on the last command executed. This helps size the 
window when you want your characters to exactly fit the window or when you want 
the origin ina specific location. By looking at lines 4800 to 4870, we see that 
the SELect ON command was used instead of the IF-THEN-ELSE construct. This 
decision was made in part to show an alternative to the IF statements and to allow 
an easier change in the future if different displays are wanted after other 
commands. 

Of course the window to display the information, the command window, needs to 
be created. This is accomplished in the procedure setup, line 4900. LOCal 
variables are used with same name as global ones. This allows us to keep the same 
descriptive variable names without changing the global values. The window para- 
meters are READ in through DATA lines, line 2 to 5. (NOTE, lines 8-to 13 are the 
initial values of the defining window and will be used in the main program.) This 
allows easier changes to the window without searching through the entire program 
to find where the window was defined. A RESTORE should always be used before 
READing any DATA because the line number from where the DATA will start to be READ 
is not reinitialed with the RUN command. The text '>> MOVE <<' or '>> ALTER <<’ is 
also displayed depending upon the value of aor_m which will be set in the main 
Program. Finally, the area of the screen which the command window will occupy is 
saved. 

Last but not least, a procedure to print the title and author of the program 
is included, name line 5120. The extra underlined spaces are used to draw a line 
to separate the title from the rest of the command window and umderline the 
author's name. In some cases UNDERLining or drawing a BLOCK for a straight line is 
faster and easier. 

The line numbering used has been constructed to ensure that all the articles 
can be merged together without out conflict. In the final article the simple main 
program-will be discussed. The functions and procedures presented in this series 
is a basis to build and learn from. In some instances a better approach could have 
been used but the intent was to show several different ways to attack a problem. 
If you don't want to type in the listing an "Issue Disk" will be available. 


LISTING A 
13 REMark Command window 
2 DATA 301,211,0,0: REMark screen - height width, x,y 
3. DATA 0,0,0: REMark paper color, contrast, stipple 
4 DATA 2,2,0: REMark ink color, contrast ,stipple 
5 DATA 2,0,12,10: REMark char size - width,height,x_inc,y_inc 
6: 
Lis REMark Defining window 
8 DATA 100,50,320,128: REMark screen ~ height width, x,y 
9 DATA 1,7,7,0: REMark border size, color, contrast,stipple 


17 


10 DATA 0,0,0: REMark paper color, contrast, stipple 


11 DATA 2,2,0: REMark ink color, contrast, stipple 

12 DATA 100,0,0: REMark scale, (x,y) graphics origin 

13 DATA 2,0,12,10: REMark char size - width,height,x_inc,y inc 
14: 


4000 DEFine PROCedure done(x%,y%, Len%, value) 

4010 INK#3,4 

4020 AT#3,xZ,yZ: PRINT USINGE3, '-'@FILLS("#' ,len%) ,value:AT#3, xZ+1,y% 
:PRINT#3, FILL$(* Ty lenZt 

4030 END DEFine done 

4040 : 

4050 DEFine PROCedure print_list_max_chr 

4060 AT#3,8,13 

4070 INK#3,4:PRINT_USING#3, ‘He TY! smax_xc 

4080 _AT#3,9,13:PRINT r USINGE3, ©" max_yc 

4090 END DEFine print list_max chr 

4100 : 

4110 DEFine PROCedure print_list_max_point 

4120 AT#3,8, 13: 

4130 INK#3, 4:PRINT_USING#3,' tt ©! max_xp 

4140 AT#3,9,13:PRINT USING#S, '-### ]' ime CYP 

4150 AT#3,12,13:PRINT_USING#3, ‘HH © 

4160  AT#3,13,13:PRINT_USING#3, '-HHF Nese 

4170 — AT#3,16 12: PRINT#3, scr -2ebrder=1 


4180 PRINT. P USING#3, ‘ tt, “HEE. , -(max_xp-xg)/2,-(max_yp-yg)/2 
4190 name 

4200 END DEFine print_list_max_point 

4210 + 


4220 DEFine PROCedure recalculate 

CALL swap2,1,xp0,yp0,sx0, sy0 
iio ese ~ x+Kp>912 THEN scr. x=512-xp 
4250 IF’ scr_y+yp2256 THEN scr_y=256-yp 
4260 OPENS, ‘scr_'&scr_x8"x'@Scr_y&'a' &xp&' x'&yp 
4270 PAPER#4,epljcp2 ,cB3: INK#4,cT1 ,c12,c13 : 
4280 SCALE#4)scl, xz, ye 
4290 CSIZE#4}esw,csh 
4300 CHAR ING #4,cxi,cyi 
4310 xpO=INT(xp/8-.5):1F xp0<O THEN xp0=0 
4320 sxO=INT(scr_x/8+.5)+221F xp0+sx064 THEN sx0=64-xp0 
4330 ypO=yp-LIF yp0<O THEN y 
4340 syO-scr_y+l:TF ypOtsy0>S12 THEN sy0=512-yp0 
4350 swap2 ,0, xp0, yp0, 5x0, sy0 
1360 BORDEREA” brdor cbt sebd,cb3 
4370 CLS#4 
4380 END DEFine recalculate 
4390 
4400 DEFine PROCedure results 
4410 OVER#3,1 
4420 INK#3,4:PRINT#3,'scr_ x a x 
4430 PRINT#3," BORDER ‘i 
4440  PRINI#3,'. PAPER , y 
4450 -PRINT#3,' INK, y 
4460 PRINI#3,' SCALE", 
4470 PRINTE3,' _— CSIZE ” 
4480 PRINT#3, "CHAR_INC 
4490 PRINTA3,\\ "plot: max'x’="\T0_6;!max_y ="\\TO 6;'min_x ="\T0 65'miny = 
4500 -PRINTE3,\' print: max_x =,"\10_7;'naxy = 
4510 PRINTE3.\ "pixel: maxx ='\10 7;!nax y =" 


4520 AT#3,0 

4530 INK#3,7: PRINT rUSINGES," | BRE Bat HEE BHA’ ,sct_x scr_y,XD,YP 

4540 PRINT’ USING#3," ## € # #\' ,brder,cbl ,cb2,cb3 

4550 PRINT_USING#3," # # #\' cpl,cp2,cp3 

4560 PRINTUSING#3, ' # # #\' cil, ci2,ci3 

4570 PRINT_USING#3,' #8 #8 arr scl, xg,yg, 

4580 PRINT_USING#3,‘ # #' ,cowycsh 

4590 PRINT_USING#3,' # HN cxi,cyi , 

4600 — PRINT_USING#3, '\ “HHH HE HE NN 

max_xp,max_yp 

4610 PRINT _USING#3, y Ht ON ae NN 8098 

4620 PRINT, TUSINGE3, '\ HNN #f ON ,max_xc,max_ye 

4630 PRINT, CUSINGES, ‘\ HEN cad ant 
ymax_Xpix,ma pix 

4640 INK#3,2: UNDERES 

4650 AT#3,18,0: PRINTS, ' iF 


4660 — OVER#3,0:UNDER#3,0 
4670 END DEFine results 

4680 : 

4690 DEFine PROCedure commands 
4700 OVER#3,1 


4710 INK#3, a: PRINT#3, ' MIN' a'\t LIN s'iNt EN! P'N BN 
oN RAT ANT shyt atyt SN! MINT ORLY TSEC'Y 
' RIN ie Esc' 
4720 AT#, ; ; 
4730 INK#3, le PRINTS," ove'\" lter'\' etter size'\ cale'\ 
nk'\' aper NI order'\' ommands'\! esults' N 
' bsolute position'\' tep move'\' absolute size'\ 
' tep alter'\' ode'\' moves screen or'\' alters size'\ 


' _ -redraws screen'\'&! 


4740 AT#3,9,0 
4750 INK#3, 2:PRINTH3, 'ctrl'\'ctrl'\' alt'\’ alt'\'ctrl WW! 
4760 OVER#3,0 

4770 END DEFine 

4780 : 

4790 DEFine PROCedure display 

4800 SELect ON doit 


4810 ON doit=1 
4820 FOR i=1 TO max_xc 

4830 PRINT#4 , FILL$('QL" ,max_yc) 

4840 END FOR i 

4850 ON doit=2 

4860 LINE#4, 5,0 TO -5,0:LINE #4,0,-5 TO 0,5 


4870 END SELect 


4880 END DEFine display 
4890 : 

4900 DEFine PROCedure setup 

4910 Local scr_x,scr_y,xp,yp,cpl ,cp2,cp3,cil ,ci2,ci3,csw,csh,cxi,cyi 
4920 RESTORE 4000 

4930 READ scr_x,scr_y,xp,yp 

4940 READ cpl,cp2,cp3 

4950 READ cil,ci2,ci3 

4960 READ csw,csh,cxi,cyi 

4970 LF ser_x+xp>S12 THEN scr_x=512-xp 
4980 IF ser, ~_ytyp>256 THEN scr. 256 ¥P 
4990 OPEN#3;'con_‘&scr_x&'x'&scr_yé&'a'&xp&'x'&yp&'_10' 
5000 PAPER#3, cpl, cp2,cp3: INK#3,ci1 ,ci2,ci3 

5010  CSIZE¥#3,csw,csh 

5020 CHAR_INC #3,cxi,cyi 

5030 AT#3,0,0 

5040 IF aorm THEN 


5050 PRINT#3,'>> MOVE << ' 
5060 ELSE 

5070 PRINT#3,'>> ALTER <<" 
5080 END IF 


5090 CALL SWAP,0,0,0, 38,211 
5100 END DEFine setup 

S110 : 

5120 DEFine PROCedure name 
5130” INK#3,4 

5140 AT#3, io, 6: PRINT#3, 'Wind_Def' 

5150 PRINTS3, "by 

5160 INK#3,7 

5170 PRINT#3, "David McCall '; 

5180 INK#3,4 

5190 PRINTS3, *®1989' 

5200 INK#3, 2: UNDER#3, 1: QVER#3, 1 

5210 AT#3,18,0:PRINT#S,* 5 
5220 AT#3, 20,4: PRINT#3,‘ "y 

5230 __ UNDER#3,0:0VER#3,0 

5240 END DEFine name 


EXITS' 


A QL SPREADSHEET MATRIX ~— Bob Hartung 


rade toe to Pe ved 
i 
2 
‘SHEXPENSE ITEMS: JA FEB MAR APR my 
a 
St Bus.miles a 8 
SHIRS mileage 0588255 = 
stage & fees 8 8 


19h 
2011990 BEGINNING BAL Center constant) 


ai 

22)TOTAL INCOME 
234 

‘243CASH ON HAND 
251 

aera EXPENSES 


38s an 
After creating and saving a copy of the above Abacus (83) 
“matrix for a sinple accounting format, only a few addi- 
tional steps are required to adapt it for any similar uses 
of your own, It is easier to center the heading in row 1 
if it is done last so start at cell AI after booting up 
$$. The default cell-width on boot-up is 10, but we will 
change this to 8 later on so most printers will do 
144-colunn printouts of the full spreadsheet in one pass. 


Text entries are made by Keying * as the very first 
character. Text entries made to one cell may span two 
cells as long as the second cell is enpty. The closing 8 
is supplied by $5 when ENTER is Keyed. To avoid confusion, 
if you miss entering the opening * it is best to key SC 
and start over. Enter the monthly headings across row 3, 
and all the other labels. Jf the left-nost labels in 
column A all fill the A cells they will retain a uniform 
Teft margin when a right-justify is used for text. Do not 
enter the ------ lines nor the formulas just yet as 
printed out in the example or indicated by two -- dashes. 


When you have completed all the labeling with ENDING 
BALANCE as cell A28, continue adding empty cells by en- 
tering a single " in column A for as many expense and 
income catagories as you intend to add, plus a few extras 
for any you may want to add later. The reason for this is 
that when additional rows are inserted anywhere above the 
final row in the matrix, anything in the last lines is 
overwritten, so nothing is lost if these are null cells, 


Change the cell-width by Keying F3, 6 for Grid, W for 
Width, 8 for the new column width, FROM A TO 0. Set text 
to right-Justify by Keying BB, for Justify, Key ENTER to 
change CELLS, ENTER for TEXT, R for Right, and range 
3:028. Enter whatever heading you want to use in row 1. 


We are ready now to start plugging in formulas and 
numbers. Hove the cursor to C5 and enter @ (zero). No 
opening quote * is used for nuneric or formula entries. To 
repeat this across row 5 the ECHO command is used by 
Keying F3, E for Echo, ENTER (for the cell on which the 


tT Wie eee See a 
1990 FINANCIAL REPORT 


Nor N ¢ 0 ¢ 


ANHUAL 
DEC TOTALS 


wu AUG: SEP oT NO 
4 8 4 sun(C5:NS) 
8 8 
6 a 


4 @ sum(C14:N14) 
a H oes 
4 ‘an 


cursor is resting), range C5:N3. Do this for rows 7, 8, 
14, 15, 14. After entering as text in cells CP and 
C17, use ECHO to repeat in ranges C9309 and C17:017, 
respectively. I you will have S-digit figures in the O 
column, you may want to use 8 dashes there for neatness. 


Enter the formula as given in cell Cé and ECHO this in 
range C6:N6. Enter the formula as given in C18 and ECHO 
this in range C18:Ni0. Enter the formula as given in C18 
and ECHO this in range C18:N18. Enter the fornula as given 
in 05 and ECHO this in range 05:08, Enter the fornula as 
given in 014 and ECHO this in range 014:016. In cell 018 
enter sum(Ci@:Ni8), in cell O18 enter sum<Ci8: NI8), in 
cell C28 enter @ of a beginning balance, in cell C22 enter 
018, in cell 23 enter in cell 24 enter (28422 
in cell 26 enter 018, in cell C27 enter "------~, in cell 
028 enter C24-C26. CELL formats persist till changed. 


Change all numbers to right-justify by keying F3, J for 
Justify, D to change defaults, N for numbers, R for Right. 
If any cells need to be moved right: after new entries, 
this may be done by the CELL mode of the Justify sequence, 
then specifying the range or just a single cell, eg: C8. 


To create a two-place decimal format for aligning all 
nonetary figures, key F3, U for Units, D for Default, -D 
for Decimal, and two for number of places. For better 
clarity, any single cell or range of cells such as ni leage 
may initially be set to a single @ with CELL and GENERAL, 
then reset to two-place decimals as entries are made, For 
a window display, with cursor at Ci key F3, W, V, ENTER. 


With this matrix as given, a narrow carriage Cletter- 
width) printer that has a condensed font of 17 c.p.i. will 
print the entire spreadsheet in one pass if the colunn- 
width is set to 144 by using the DESIGN command. If your 
printer will not do 144 characters per Tine or you wish to 
do printouts in a larger font, then the spreadsheet may be 
done in two or more segnents, eg: Key F3, P for Print, 
ENTER for display, N for gid only, range Al:J28 for the 
first segnent, then repeat, using K1:028 as the range. 


The natrix we now have may be saved and used as the 
foundation for any spreadsheets that use this type format. 
To insert more rows into it, with the cursor, on the row 
following the: position where new rows are to be added, key 
F3, 6 for Grid, I for Insert, ENTER (or row number), and 
the number of rows to be inserted. ECHO any values or 
formulas as necessary. ‘Any existing fornulas are adjusted 
when rows are re-nunbered by using Insert. Add nll x 
rows to the bottom of the matrix if necessary. 


20 


15-2068 BUSINESS SOFTWARE 


ARL-9.B1l 
By: Jim Bretz, Pernam, MN. 


Manages Customer Charge Accounts 
Posts new sales 
Computes interest charges 
Posts payments to accounts 
Suns accounts balances 
Prints out Reports 
Prints out invoices 


This comprehensive software proves that the 
TS-2068 is a mighty fine computer for running 
a business. The equilivant of this program in 


use thri the World costs hundreds of 
dollars. Jim Bretz designed and uses this 
ARI-9 software to rum his large Hardware 


business. Jim has versions of the software 
for both LKDOS and SPDOS (Millenia K DOs). 
The version given here is for LKDOS and the 
V-3 LKDOS Printer Driver in EPROM. However, 
any printer driver that supports TAB can be 
used. Also, the software requires the 64 
colum screen to be enabled. This can be via 
use of TASWIDE or the Zebra 05-64 Cartridge. 
I£ you are using LKDOS then TASWIDE would be 
appropriate. Incidentally if you dont have 
TASWIDE, which works great with LKDOS, you 
should spend a few bucks to get it (RMG 
Enterprises is a good source.). 

If you are using a DOS other than LKDOS (or 
Cassette), then as you key in the program just 
substitute the LOAD and SAVE commands for the 
storage medium that you use. E 

The Software programming is doe entirely 
in BASIC which makes the operation very user 
friendly and adaptable for customizing to your 
special needs. In fact, it is so user 
friendly that only a few tips to get started 
need to be discussed. The Main Menu is given 
below: 


ACCTS REC. Main Menu 


1. ENTER NEW FILE 

2. VIEW FILE 

3. POST SLIPS” 

4, COPY TO PAPER 

5. REPORTS 

6. NEW HEADER/CLOSING 
7. EDIT LINE 

8. CLOSE FILE/END DAY 
9. SAVE DATA (BACK UP) 


Key in the whole program and SAVE with a 
starting line of 9500. ( SAVE "ARI-9.B1" LINE 
9500 ). Next SAVE a couple of dumny account 
files that will be needed. ( DIM 
a$(20,5,21): SAVE "01001a.A$"DATA a$() ). 

And: ( DIM d$(20,24,20): SAVE "01001d.a$" 
DATA dS() ). c 

These two character arrays saved to disk 


will become dumy files for the program to 
sense a need to establish new files. 


The Auto Load program 


After Saving the main program and the two 
dummy files, key in the LKDOS Autostart 
program, This Autostart program may need 
slight changes to initialize your ow CPI 
interface with POKES to the LKDOS. Lines 30 
and 40 assumes that you have SAVED the taswid 
Code via <SAVE "taswid.cl"” CODE 63223,1492 > 
to the same disk as you saved the main 
Program. Key in the Autostart program with 
your needed changes and Auto SAVE it by: < 
GOTO 60 >. Line 60 lowers RAM TOP to 300 
bytes above the program length to conserve 
disk space. Then the Autostart Program itself 
will restore FREE Memory as it loads in (line 
#5) and sets RAM TOP to account for the taswid 
code load. 

‘SOME MAIN PROGRAM TIPS 


When the main program loads (via the 
Autostart program) it begins running at line 
#9500. Line #9530 prompts for input of DATE. 
The date must be SIX numbers as: 010190, which 
would represent the date of Janurary 1, 1990. 

Then Line #9560 loads in the first account. 
In this case it is the dumy account that you 
saved with the name "01001a.AS". Then line 
#9565 loads in the second part of the account 
which you saved with the name "01001d.A$". 

Then when these two files (dummys) are 
loaded, the Main Menu is presented. 

Select <l> ENTER NEW FILE. Now here is a 
little quirk. The file number that you enter 
must be 7 characters in length and must 
conform closely to the dummy file name, which 
is only 6 characters in length. Files must 
begin with the first two digits "01" and the 
last two digits "la" through "lz". EXAMPLE: 
O10001£ would be accepted, but 020002a would 
not. A close examination of the program lines 
beginning.at line #410 will be helpful to 
understand the composition of the “account 
number" requirements. 

Enter several new accounts and input dummy 
figures for sales by category. Then use the 
main menu to recall these accounts. After a 
bit of practice the organization scheme of the 
accounts will became familiar. 

Since this is such a comprehensive software 
and does so many functions, there will bea 
feed back to answer the users questions. If 
you should have problems, send your questions 
to Update Magazine and they will be forwarded 
to Jim Bretz for his answers. Please include 
two Stamped envelopes, one a SASE. But lets 
not call Jim for problem answers as he is a 
business man who goes to work every day and 
needs his sleep. 

This Business software is available as an 
Issue disk, ready to use for LKDOS. 


21 


VARIABLES: 


Am---Val DS(x,Z,13 to 20) 
Amt--amount total Debit 
Bal--Amount runing Balance 
Amount total Credit 
nput for description 
Des--Description, Val DS(x, 
Int--amount total Interest 
-Length of S$ 

-Line posistion, PEEK 23689 (SPOSN) 
Lb---Used in Loi 

Lbi--Over due Balance 

P. or/Next loop counter 

or/Next loop counter, printer 
ised to justify R$ and S$ 

-Terms flag 

Tbal-Gross total Balance, 

Tlbl-Gross Over due Balance 
Tmi--Total months Interest added 
Tint-Gross total Interest 
X----account number, Val X$(6 to 7) 
Z----For/Next loop counter 


menu 
z.11 to 12) 


1 REM Accounts Rec. T/S 2068 1986 Jim 


Bretz 

304 PRINT CHRS 2 

305 PRINT AT 1,03X$°AS(X,1)°AS(X,2)°AS(X.3)’AS(X.4, 
1 TO 14)s" “sA8(X,5,1 TO 2)s".*5A8(X,5,3 TO 7) 

307 IF AS(X,1,1 TO 4)=* “ THEN PRINT “FILE NOT 
UND": PAUSE o: GO TO j5 

309 RANDOMIZE USR 64300: PRINT CHRS 3 

ae PRINT AT 1,483 "Sheet: ";AS(x,5,12 TO 13):AT 2,49 
$(X,5,8 TO 9)5*/*5AS(X,5,10 TO 11);AT 3,49 
"5 985AT 4,48; "Terms: “sTS(VAL A8(X,5,14)) 

320 PRINT AT 7-(z=16),03"No! Date! Slip !Descriptio 
n {Credit !Interest! Amount ! Balance * 

349 RETURN 

352 LET s=VAL 08(x,z,13 TO 20) 

384 LET k=9 

355 LET r$=STR$ s: LET I=LEN rs 

360 IF L(2 THEN LET RS="0°+R$: LET L=2 

365 DIM s$(k): LET s8(k-2)="."s LET s8(k-1 TO k)=rs 
(1-1 To 1): LET s$(k-1t{( kel) TO k-3)=r$(1 TO 1-2): R 
ETURN 

400 REM leagel acct sub 

410 INPUT ‘ACCT. NO.°:Y$: IF LEN Y$Q)7 THEN GO TO 
502 

AIS POKE 23658,0: LET x$=V$: LET X=VAL X8(6 TO 7): 
IF x)20 THEN GO TO 502 

420 IF X$(1 TO 2)<)CS(1 TO 2) THEN PRINT “PLEASE I 
NSERT DISC NO. "sX$(1 TO 2)**AND TRY AGAIN.*: PAUSE 
0: GO TO 500 

425 IF VAL x$(3 TO 5))48 THEN GO TO 502 

430 IF X$(3 TG.5)<)C8(3 TO. 5) THEN G0 TO 450 

440 RETURN 

450 RANDOMIZE USR 100: SAVE c$+"a.AS* DATA as{ ) 
452 RANDOMIZE USR 100: SAVE c$+*d.As* DATA d8{ ) 
453 IF z$)°7" THEN RETURN 

454 RANDOMIZE USR 100: LOAD XS(1 TO 5)+'a.As" DATA 
aa) 

456 RANDOMIZE USR 100: LOAD X$(1 TO S)+'d.As" DATA 
ds() 

458 LET cS=x8(1 TO 5) 

499 RETURN 

501 GO TO 505 

S02 BEEP .1,1: BEEP 1,.1 

$05 BEEP .1,1: BEEP .1,5: BEEP .1,9 


$10 CLS : PRINT “ACCTS REC. MAIN MENU: “SAT 2,55 "1 
ENTER NEW FILE*,TAB 53°2. VIEW FILE", TAB 53°3. POST 
SLIPS*,TAB 5; °4, COPY TO PAPER ,TAB . REPORTS* ,T 


°7, EDIT LINE",TA 
‘9. SAVE DATA (Bac 


AB 53 °6. NEW HEADER/CLOSING® TAB 53 
8 55°. CLOSE FILE/END DAY',TAB 5; 
k-Up)* : 
520 INPUT Z$: IF CODE 2$)48 AND CODE Z$(5@ THEN : C 
$ + GO TO VAL Z8#1000 

530 G0 TO 56 

549 CLEAR : RANDOMIZE USR 100: SAVE ‘ARI~9.81* LINE 
9800 

1000 CLS : FLASH 1: PRINT AT 0,93 “ENTER NEW FILE"’?: 
FLASH 0 GO SUB j4 

1010 LET X=VAL x8(6 TO 7) 

1020 IF CODE AS(X,1)<)32 THEN GO TO 1900 

1025 INPUT "ACCT. NAME "5AS(X,1): PRINT A8(X,1) 
1030 INPUT "St. ADDRESS*3AS(X,2): PRINT AS(X,2) 

1032 INPUT "RR or BOX";AS(X,3): PRINT AS(X,3) 

1035 INPUT “CITY*3AS(X,4): PRINT AS(X,4) 

1040 INPUT "STATE, & ZIP*3AS(X,5,1 TO 7): PRINT As(X 
15,1 TO 7) 

1050 POKE cap,8: II 


*1S THIS CORRECT 


i 
F Y$<)"Y* THEN CLS = PRINT "ACCT NO. ‘:X: POKE cap, 
0: GO TO 1025 

1110 CLS = PRINT "TERMS MENU: PRINT AT 2,53"1. "5T 


${(1)°TAB 55°2. °378(2)'TAB 5 

318(4)'TAB 55 °5. *iTS(5) 

1120 INPUT AS(X,5,14): IF CODE AS(X,5,14))48 AND COD 

E AS(X,5,14)(54 THEN G0 TO 1130 

1125 BEEP .1,1: BEEP 1,. 

1130 LET AS(x,5,12 TO 13 

1140 CLS : INPUT “Date of LSmt.',A$(X,5,8 TO 11): PR 

INT “Loa 6(x,5,8 TO 9)s*/75A8(x,5,10 TO 11): L 

ET 08(X,1,1 TO 4)=48(X,5,8 TO 11) 

1145 LET 08(x,1,5 10 10}=" 00°: 

2 1" 

1150 INPUT “Enter beginning Balance'sY$: LET D$(x,1, 

13 TO 20)=Y$: IF LEN Y8(1 THEN GO TO 1150 

1151 FOR z=1 TO LEN Y$: IF CODE Y$(z))57 THEN G0 TO 

1150 

1152 IF CODE y#(z)(48 THEN GO TO 1150 

1153 NEXT 2 

1155 INPUT “Enter OVER OUE Balance”iy$: LET a$(x,5,1 

5 TO 21)=y$: IF LEN y$(1 THEN GO TO 1155 

1156 FOR z=1 TO LEN y$: IF CODE y$(z))57 THEN GO TO 

1155 

1157 IF CODE y$(z){48 THEN GO TO 1155 

1158 NEXT z 

1189 LET Z=1: GO SUB ji: LET amt=s: PRINT ‘Balance F 
“js: IF $(=0 THEN LET 08(x,1,11}="0": G0 TO 12 


LET D8(x,1,11 TO 1 


50 

1160 IF S)O THEN LET DS(x,1,11)="1": INPUT ‘Enter b 
eginning Interest*;Y$: LET 08(x,1,5 TO 10)=Y$: IF LE 
N y$(1 THEN GO TO 1160 

1161 FOR z=1 TO LEN y$: IF CODE y8(z))57 THEN GO TO 
1160 

1162 IF CODE y$(z)<48 THEN GO TO 1160 

1163 NEXT z 

1164 LET z=1: LET s=VAL D$(x,1,5 TO 10): LET k=7: GO 
SUB j3: PRINT ‘Interest charge’;s$ 

1170 LET s=stamt: GO SUB j2: PRINT "Total Due: 
$ 

1250 PRINT AT 21,03 ‘Press Any Key for MENU*’*Press ° 
*c** to Enter a new Acct." POKE cap,o 

1260 IF INKEY$="* THEN GO TO 1260 

1265 IF INKEY$="c* THEN 60 TO 1000 

1275 60 TO j5 


22 


1900 PRINT "THIS ACCT *3A8(X,1)?*IS IN USE,*’* DO 

YOU WISH TO DELETE ? Y/N": INPUT Y$: IF Y$<)"Y" TH 

—N G0 TO 1270 

1904 PRINT : PRINT "This File 2 "3A8(X,1)3",(Y/N)* 

: INPUT Y$: IF Y$="¥* THEN LET AS(X,1,1 TO 4)=" 
": FOR Z=1 TO 24: LET 08(X,Z)="": NEXT Z: GO TO 

505 

1906 GO TO j6 

2010 CLS : FLASH 1: PRINT AT 0,12;"VIEW FILE": FLA 

SH o 

2015 GO SUB 3015 

2505 POKE cap,8: PAUSE o: IF INKEY$="R" THEN LET 

2=1: CLS = GO TO 3030 

2510 GO TO 2000 

2950 PAUSE o: GO 70 2000 

3010 CLS : FLASH 1: PRINT AT 0,10; "POST SLIPS*: FL 

ASH o 

3015 LET Z=1 

3020 GO SUB j4 

3030 GO SUB jo 

3045 POKE cap,8: INPUT “Correcrt File Y/N";Y$ 

3048 IF Y$="Y" THEN GO TO 3050 

3049 GO TO j6 

3110 PRINT AT 8,z5Z;TAB 3508(x,z,z TO 2); 

2,3 TO 4); TAB 16; "Balance For .*3 

3120 IF VAL 08(x,z,13 TO 20){0 THEN GO SUB ji: PR 

INT AT 8,27;S$;TAB 5538$: LET amt=0: LET bal=s: LE 

T crt=ABS s: LET int=0: LET in=int: GO TO 3200 

3130 LET s=VAL 0$(x,z,5 TO 10): LET GO SUB j3 

+ PRINT AT 8,383s$: LET in ET inzint 

3134 60 SUB jl: PRINT AT 8,45;s$;TAB 55;s$: LET am 

t=s: LET bal=s: LET crt=0 

3202 FOR 27=2 10 24 

3205 IF z=16 THEN INPUT “scroll?"sY$: PRINT AT 0, 

03! FOR h=1 TO 10: RANDOMIZE USR 2361: NEXT h: FOR 

TO 7: PRINT * 


*308(x, 


“: NEXT h GO SUB 
JO: PRINT AT In-9,03 
3210 IF D8(x,z,1)=" " THEN GO TO 3300 
3215 LET des=VAL D8(x,z,11 TO 12) 
3220 PRINT TAB 1-(z)9);zsTAB 3308(x,z,1 TO 2)3°/"5 
08(x,z,3 TO 4); TAB 9508(x,z,5 TO 10);TAB 16;1$( des 
Jit LET In=24-PEEK 23689 
3225 IF des(8 THEN GO SUB ji: PRINT TAB 45:s$ 
ET amt=amt+s: LET bal=bal+s: LET s=bal: GO SUB j 
PRINT TAB 55;s$: NEXT z: GO TO 3400 
3230 IF des<10 THEN LET am=VAL D8(x,. 2,13 TO 20): 
GO SUB ji: PRINT AT 1n,273s85: LET s=in: LET k 
GO SUB j3: PRINT TAB 38;s$;: LET s=(am-s)+( am-s)=0 
): LET in=(in-am )x(in-am)=0): GO SUB j2: PRINT AT 
1n,453s$3: LET s=bal-s: GO SUB j3: PRINT TAB 55;s$ 
3: LET bal=s: LET ert=crttam: NEXT z: GO TO 3400 
3250 GO SUB jl: PRINT TAB 36;s$;: LET in=ints: LET 
int=int+s: LET s=bal: GO SUB j2: PRINT TAB 583s; 
= NEXT z: GO TO 3400 
3300 IF z$="2" THEN GO TO 3400 
3301 INPUT "Enter Slip No.*sD$(X,Z,5 TO 10): IF D$ 
(X,Z,5 TO 10)=" “ THEN GO TO 3400 
3308 LET D8(X,Z,1 10 4)=8s 
3310 ON ERR GO TO 3310: INPUT * Enter Sale Code’’ 
“(press *"0"* for Help )*;0 
3312 FOR y=1 TO 10 STEP 2 
3313 IF (D(=10)#(D)0)=1 THEN LET 08(X,Z,11 TO 12) 
=STR$ 0: ON ERR at GO TO 3320 
3316 INPUT i(y)s*."3(1S8(y)),( ytd )s”."s(18(y#t) 30 
3317 NEXT y: GO 10 3310 
et INPUT "Enter $ Amount";¥$: LET D$(X,Z,13 TO 2 
O}Ys 


3330 IF (LEN Y$)1)*(LEN Y$<9)=0 THEN GO TO 3320 
3335 FOR y=1 TO LEN Y$ 

3340 IF (CODE Y8(y)<(58)¥( CODE Y8(y))44)=0 THEN GO 
TO 3320 

3345 NEXT y: GO TO 3215 

3410 PRINT "TAB 18;"Totals"s: LET In=24-PEEK 23689 
3415 LET s=crt: GO SUB j3: PRINT TAB 27383 

3420 LET s=int: GO SUB j3: PRINT AT 1n,36;s8; 

3425 LET s=amt: GO SUB j3: PRINT AT 1n,45is$; 

3430 LET s=crt-int: LET s=amt-s: GO SUB j3: PRINT 
TAB 553885 

3440 LET D8(x,1,11)="1": 
1,11)="0° 

3450 IF z)24 THEN FLASH 1: PRINT ‘FULL PAGE, PLEA 
SE COPY TO PAPER ANO CLEAR WORK SHEET": FLASH 
0: PAUSE 0: GO TO j5 

3500 IF z8="2" THEN GO TO 2500 

3950 PAUSE 0: GO TO 3000 
4004 GO TO 4500 

4005 LET Z=1 

4010 GO SUB ja 

4015 IF 1$="2" THEN : IF 
14)=*5*))0 THEN RETURN 
4016 IF A8(x,1,1 TO 4)=" 
4020 LPRINT ° 

4021 LPRINT hS(1) 

4022 LPRINT hS{2) 

4023 LPRINT hs(3) 

4024 LPRINT hs(4) 

4025 LPRINT 

4030 LET ch=93: LPRINT ''''??TAB 103X$’TAB 10;A8(X 
s1)’TAB 105AS(X,2)°TAB 10348(X,3)TAB 105A8(X 4,1 
TO 14)3", "3AS(X,5,1 TO 2);"."3A8(X,5,3 TO 7)? 
4035 LPRINT "Sheet: ";A8(x,5,12 TO 13),"LSmt:"sA8(X 
y5,8 TO 9) */*5A8(X,5,10 TO 11), *Date:";88(1 TO 2) 
5"/*;B8(3 TO 4); °/"3B8(5 TO 6),"Terns:";TS( VAL As( 
X,5,14)) 

4040 FOR y=0 TO 66: LPRINT "_"s: NEXT y: LPRINT 
4045 LPRINT CHRS 91; "No.* Datex Slip *Description 
xCredit *Interest* Amount * Balance *;CHR$ ch 
4050 REM 

4102 IF A8(x,5,15 TO 21)=* 
5,15)=*0* 


IF bal<=0 THEN LET D8(x, 


(D8(x,1,11)="0* )+(a$(x,5, 


"THEN RETURN 


" THEN LET AS(x, 


=VAL AS(x,5,15 TO 21) 
+ LPRINT CHRS 9157 1 
4110 LPRINT TAB 53D$(x,z,z TO 2); 
)sTAB 185 "Balance For .'; 

4120 IF VAL D8(x,z,13 TO 20)(O THEN GO SUB ji: LP 
RINT TAB 295S$5TAB 57;S8;CHR$ 93: LET amt=0: LET b 
al=s: LET crt=ABS s: LET int=O: LET in=int: GO TO 
4200 

4130 LET s=VAL D8(x,z,5 TO 10): LET k=7: GO SUB j3 
= LPRINT TAB 403s$;: LET int=s: LET nit 

4134 LET k=9: GO SUB jl: LPRINT TAB 47;s$;TAB 57:5 
SiCHR$ 93: LET amt=s: LET bal=s: LET crt=0 

4202 FOR z=2 TO 24 

4204 LET FS=STRS (VAL b8(1 TO 2)+(VAL d8(x,z-1,1 T 
0 2))VAL bs(1 TO 2))#12) 

4206 IF VAL f$-VAL d&(x,z-1,1 TO 2)>=VAL a$(x,5,14 
) THEN LET lbl=bal: LET a$(x,5,15 TO 21)=STR$ Ibl 


"/*3D8(x,Z,3 TO 4 


4210 IF 08(x,z,1)=" " THEN GO TO 4400 
4215 LET des=VAL D&(x,z,11 TO 12) 
4220 LPRINT CHR$ 91;TAB 2-(2)9);z;TAB 5:08(x,z,1 T 
0 2)5*/"5D8(x,z,3 TO 4);TAB 11;D$(x,z,5 TO 10); TAB 
183 18(des)i 

23 


4225 IF des(8 THEN GO SUB jl: LPRINT TAB 47;s$;: LE 

T amt=amt+s: LET bal=balts: LET s=bal: GO SUB j2: LP 

RINT TAB 573S$;CHR$ ch? GO SUB 4960: NEXT z: GO TO 4 

400 

4230 IF des<10 THEN LET am=VAL D8(x,z,13 10 20): GO 

SUB ji: LPRINT TAB 29;s$3: LET s=in: LET k=7: GO SU 
3 ) Ler 


al-s: GO SUB j3: LPRINT TAB 573S$3CHRS ch: 
: LET ertscrttam: GO SUB 4950: NEXT z: GO T 


0 4400 

4250 GO SUB ji: LPRINT TAB 383583: 
int=int+ts: LET s=bal: GO SUB j2: LPRINT TAB 57is$;CH 
R$ ch: GO SUB 4960: NEXT z 

4410 LPRINT *TAB 20; "Totals"; 


LET in=ints: LET 


4415 LET sscrt: GO SUB j 
4420 LET s=int: GO SUB j3: LPRINT TAB 38;s$5 

4425 LET s=amt: GO SUB j- PRINT TAB 47;s$3 

4430 LET s=crt-int: LET s=amt-s: GO SUB j3: LPRINT T 
AB 57is$ . 

4432 IF lbl(O THEN LET Ibl=0 

4433 LET s=lbl: GO SUB j3: LPRINT "OVER DUE Balance 

of "ss 

4434 RANDOMIZE USR 100: POKE 16090,63: LPRINT ‘V$’": 
RANDOMIZE USR 100: POKE 16090,79 

4436 IF VAL 1$(3 THEN LET A8(x,5,8 TO 11)=88 

4438 FOR m=(z+31) TO 64: LPRINT : NEXT m 

4460 RETURN 

4500 REM 

4501 POKE cap,o: CLS : FLASH 1: PRINT AT 0,93 "LPRINT 
FILE": FLASH o 

4505 LET lbl=0 

4510 PRINT AT 3,0;°OPTIONS:°7'°1. Print (1) statemen 
t "'"2. Print Block of statements*’*3. Print (1) F 
ile Copy’’"4. COPY and CLEAR Page” 

4520 INPUT "Enter Option";1$: IF LEN 1$<)1 THEN GO 
TO j5 

4525 IF (CODE 1$)48)x(CODE 1$(53)<)1 THEN GO TO 452 
Qo 


PRINT TAB 293885 


4530 PRINT ’**Option Selected No.*s1$ 
GO SUB 4005: GO TO 4500 
GO TO 4600 

LPRINT 722777*: 


4550 IF 1$="3" THEN 
uB 4030: GO TO 4500 
4555 IF 1$="4* THEN LPRINT *'’’” 
8 4030: PRINT ’"New Paper Please AUSE 0: GO SUB 4 
018: FOR z=1 TO 24: LET DS(x,z)="*: NEXT zi LET 08(x 
jl,1 TO 4)=B8(1 TO 4): LET D8(x,1,5 TO 10)=STRS ins 
LET D9(x,1,13 TO 20)=sTRS bal: LET AS(x,5,12 TO 13)= 
STRS (VAL AS(x,5,12 TO 13}+1) 

4556 LET a8(x,5,15 10 21)-STRS IbL 

4858 LPRINT 

4560 GO TO 4500 

4610 INPUT “Starting Acct. No. 
N GO TO J6 

4620 GO SUB 420 

4625 FOR x=1 TO 20: LET x$(6 TO 7)=*0*#STRS x: IF 0 
9 THEN LET x8(6 TO 7)=STRS x 

4630 GO SUB 4015: LET AS(x,5,15 TO 21)=STRS Ib1: NEX 
T x: PRINT "Block No.";x$(1 TO 5)s* Complete": PAUSE 
0: GO TO 4500 

4950 LET Ibl=lbl-am 

4960 LET 1b=2-(a8(x,5,14)="1"): LET Ib=VAL 88(1 TO 2 
}-lb: IF Ib)=VAL 08(x,z,1 TO 2) THEN LET Ibl=bal: L 
ET AS(x,5,15 TO 21)=STRS IbL 


GO SUB j4: GOS 


GO SUB j4: GO SU 


"5X$: IF LEN X$()7 THE 


4961 RETURN 

5000 GO TO 5500 

$016 LET int=0: LET bal=0: LET lbl=0: LET z=1 

S019 IF (1$=*1")x(n8="n* )e(d6(x,1,11)=*0"}=1 THEN R 
ETURN : 

5020 IF AS(x,1,1 TO 4)=" * THEN RETURN 

5030 LET Ibl=VAL Ag(x,5,15 TO 21) 

5120 IF VAL 08(x,z,13 T0 20)(O THEN LET s=VAL D(x, 
z,13 TO 20): LET amt=0: LET bass: LET crt=s: LET in 
t=0: LET insint: GO TO 5200 

$130 LET s=VAL 08(x,z,5 TO 10): LET intes: LET in=in 


t 

$134 LET s=VAL D8(x,z,13 TO 20): LET amt=s: LET bal= 
? LET crt=0 

5202 FOR 2=2 TO 24 

5204 LET f$=STRS (VAL bS(1 TO 2)+(VAL d$(x,z-1,1 TO 
2))VAL bS(1 TO 2))#12) 

5206 IF VAL f$-VAL d8(x,z-1,1 TO 2))=VAL a8(x,5,14) 
THEN LET Ibl=bal: LET a$(x,5,15 TO 21)=STR$ lbl 
5210 IF O8(x,z,L)=" " THEN GO TO 5400 

5215 LET des=VAL D$(x,z,11 10 12) 

5225 IF des(8 THEN LET s=VAL D8(x,z,13 TO 20): LET 
amt=amt+s: LET bal=balts: LET s=bal: GO SUB 5960: NE 
XT z: GO TO 5400 

5230 IF des(10 THEN LET am=VAL D8(x,z,13 TO 20): LE 
T sein: LET s=(am-s)#(am-s)=0): LET in=( in-an)a( in-a 
)=0): LET sebal-s: LET bal=s: LET crt=crttam: GO SU 
B 5950: NEXT z: GO TO 5400 

5250 GO SUB jl: LET int=intts: GO SUB 5960: NEXT z 
5405 IF 1="2" THEN GO TO 5735 

5410 LPRINT x$3" "5a8(x,1)5 

rt: GO SUB j3: LPRINT TAB 30;s$; 

GO SUB j3: LPRINT TAB 40;s$3 

GO SUB j3: LPRINT TAB 50;s$3 

5430 LET s=crt-int: LET s=amt-s: GO SUB j3: 
AB 60:88; 

5432 IF lbl(O THEN LET lbl=0 

5433 LET s=lbl: GO SUB j3: LPRINT TAB 70;s$ 
5460 RETURN 

$501 LET K=9: POKE cap,o: CLS : 
12;"REPORTS*: FLASH 0 

5510 PRINT AT 3,03"0PTIONS:*?’*1. 
2.°; "Interest Calc.?°” 

5520 INPUT “Enter Option's1$: IF LEN 1$<)1 THEN GO 
To J 

$525 IF (CODE 1$)48)*(CODE 1$(53)<)1 THEN GO TO 552 


LPRINT T 


FLASH 1: PRINT AT 0, 


LPRINT Summery”’* 


9 

5520 PRINT ’’*Option Selected No.*31$ 
5540 IF l¢="1" THEN INPUT “Print $.00 Balance Accts 
-(Y/N)*3n$: GO TO 5600 

5550 IF 1$="2" THEN GO TO 5700 

5601 LET Tint=0: LET Tbal=0: LET Tlbl=0 
5605 LPRINT ‘“Summery of Accounts" , "Date 
"TAB 173 "NAME"S 

THEN LPRINT TAB 343 "Line's: 


is’? LORI 


GO TO 56 


5607 LPRINT TAB 33; "CREDIT"; 
5608 LPRINT TAB 413 "INTERES) 
"BALANCE"; TAB 71; "OVER DUET: 
"33 NEXT y? LPRINT 

5610 INPUT “Starting Acct. No. 
N GO TO jé 

5615 GO SUB 420: PRINT ‘Summery of Accounts: *’x$;* 
TO "5 


24 


TAB 53; AMOUNT"; TAB 62 
FOR y=0 TO 79: LPRINT 


“3x$: IF LEN X$()7 THE 


5620 INPUT "Ending Acct. No.";P$: IF LEN P$()7 THE 
N GO TO j6 

5621 PRINT P$: FOR p= 
5): LET x$(4 To 5)= 
$(4 TO 5)=STRS p 
5623 GO SUB 420 

5625 FOR x=1 TO 20: LET x8(6 TO 7)= 
x)9 THEN LET x8(6 TO 7)=STRS x 

5630 GO SUB 5015 

5635 LET Tint=Tint+int: LET Tbal=Tbaltbal: LET T1b 
1=Tlbl+lb1 

5640 IF INKEY$=" STOP " THEN GO TO 5690 

5650 NEXT x: NEXT p 

5660 LPRINT ’TAB 17; "TOTALS"; 

5670 IF 1$="2" THEN GO TO 5800 

5692 LET int: GO SUB j3: LPRINT TAB 40;s$3 

5694 LET s=Tbal: GO SUB j3: LPRINT TAB 60;s$3 

5695 LET s=Tlbl: GO SUB j3: LPRINT TAB 70;3$; 

5696 LPRINT 

5699 GO TO 5500 

5705 LET n$='n": LET TMI=0: INPUT “Enter Annual In 
terest Rate*iy$: LET irt=(VAL y$/12)*.01 

5720 GO TO 5600 

5735 IF lbl<=0 THEN LET Ibl=0: LET int=0: LET bal 

RETURN 

8736 IF AS(x,5,14)= 
LET bal=0: RETURN 
5740 LPRINT x85" "ja$(x,1)3TAB 353z5 

5745 LET s=int: GO SUB j3: LPRINT TAB 40:s$; 

5750 LET s=INT (Iblxirt): GO SUB j3: LPRINT TAB 50 
38$3: LET TMI=TMIFINT (Iblxirt ) 

5755 LET s=crt-int: LET s=amt-s: GO SUB j3: LPRINT 
TAB 603885 

5760 LET s=lbl: GO SUB j3: LPRINT TAB 70;s$ 

5770 LET d$(x,z,1 TO 4)=b$: LET d8(x,z,11 10 12)=" 
10": LET d8(x,z,13 TO 20)=STRS INT (Iblxirt) 

5780 RETURN 

5800 LET s=TMI: GO SUB j3: LPRINT TAB 50;s$ 

5810 LPRINT "INTEREST RATE = “sirts" per Mth.* 
5899 GO TO 5500 

5950 LET lbl=lbl-am 

$960 LET Ib=2-(a(x,5,14)="1"): LET Ib=VAL BS(1 TO 
2)-lb: IF 1b)=VAL D8(x,z,1 TO 2) THEN LET lbi=ba 
1: LET A8(x,5,15 TO )=STR$ lbl 

5961 RETURN 

6000 CLS : FLASH iz PRINT AT 0,8; "STATEMENT HEADER 
"" 1: FLASH o 

6005 PRINT ’’"1. Enter HEADER"’"2, Enter CLOSING*’ 
"OPTION 2": PAUSE 0 

6010 IF INKEY$="2" THEN G0 TO 6500 

6011 IF INKEYS="1" THEN GO TO 6050 

6012 IF INKEY$="" THEN GO TO j5 

6013 GO TO 6010 

6050 PRINT "Enter Statement Header'’’: INPUT “LOA 
0 From Tape? (y/n)"sy$: IF y$="y* THEN LOAD "head 
er" DATA hs( ) 

6065 FOR z=1 10 4: INPUT “Header Line ";STRS zshs( 
2): PRINT h$(z): NEXT z 

INPUT * SAVE TO Tape? (y/n)"s 

THEN SAVE "header" DATA hé() 

6099 PAUSE 0: GO TO j5 

6510 PRINT "Enter new Statment closing lines* 

6520 INPUT VS 

6530 PRINT "NEW Statement Closing"’: RANDOMIZE US 

R 64300: PRINT CHR$ 3: PRINT V$: PRINT CHR$ 2 

6540 PAUSE 0: GO TO j5 


AL X$(4 TO 5) TO VAL P$(4 TO 
"#STR$ pt IF p)9 THEN LET X 


+STRE xt IF 


THEN LET Ibl=0: LET int=0: 


25 


7002 CLS : PRINT ’"Edit File Menu:";TAB 53°21. Chan 
ge Name/Address";TAB 5;*2. Change Line Entry” 

7004 IF INKEY$="1" THEN GO TO 7500 

7006 IF INKEY$="2" THEN G0 TO 7010 

7008 GO TO 7004 

7010 CLS : PRINT AT 0,263" Edit File * 

7020 GO SUB j4 

7030 GO SUB jo 

7045 POKE cap,8: INPUT “Correcrt File Y/N's¥$ 

7048 IF Y$="¥" THEN GO TO 7050 

7049 GO TO j6 

7050 ON ERR GO TO jé: INPUT “enter Line No. to be 
changed ON ERR RESET : IF 2)24 THEN GO TO 
i6 

7055 IF z(2 THEN GO TO 502 

7100 LET edit=0 

7205 PRINT ’’*Current Line No."; 

7210 IF 08(x,z,1)=" " THEN GO TO j6 

7218 LET des=VAL DS(x,z,11 TO 12) 

7220 PRINT TAB 1-(z)9)3Z5TAB 3;08(x,z,1 TO 2)3°/%5 
D$(x,z,2 TO 4); TAB 95D8(x,z,5 TO 10); TAB 16;18(des 
Jit LET Ln=24-PEEK 23689 

7225 IF des(8 THEN GO SUB jl: PRINT TAB 45;s$;: G 
0 TO 7260 

7230 IF des(i0 THEN LET am=VAL D$(x,z,13 T0 20): 
GO SUB jl: PRINT AT 1n,27;s$3: GO TO 7260 

7250 LET GO SUB ji: PRINT TAB 36;s$; 

7260 IF edi’ THEN GO TO 7400 

7265 LET edit: 
7275 PRINT '’*Enter New Line No." 

7301 INPUT "Enter Date of slip ";e$: IF e$()"" THE 
N = LET D$(x,z,1 TO 4)=e¢ 

7305 INPUT “Enter Slip No.";e$: IF e$()"* THEN : L 
ET D8(X,2,5 10 10)=es 

7310 INPUT * Enter Sale Code"’*(press '"O"" for He 
lp)"se$: IF e$="* THEN GO TO 7320 

7311 ON ERR GO TO 7310: LET D=VAL e$: ON ERR RES 
ET 

7312 FOR y=1 TO 10 STEP 2 

7313 IF (D<=10)s(D)0)=1 THEN LET D8(X,Z,11 TO 12) 
®STR$ D: ON ERR RESET : GO TO 7320 

7346 INPUT i(y)5*."s(8(y)) Cyt )5*."5(18( y#1))50 
7317 NEXT y: GO TO 7310 

7320 INPUT “Enter $ Amount';Y$: IF Y$="" THEN GO 
TO 7215 

7325 LET D$(x,z,13 TO 20)=Y$ 

7330 IF (LEN Y$)1)*(LEN Y$<9)=0 THEN 60 TO 7320 
7335 FOR y=1 TO LEN Y$ 

7340 IF (CODE YS(y)<58)*( CODE Y$(y))44)=0 THEN GO 
TO 7320 

7345 NEXT y: GO TO 7215 

7400 PAUSE 0: GO TO j5 

7510 CLS : PRINT AT 0,103" Edit Nane * 

7520 GO SUB j4 

7530 GO SUB jO 

7540 POKE cap,8: INPUT “Correct File Y/N ‘s¥$ 

7550 IF Y$()*Y* THEN GO TO jé 

7560 LET X=VAL X8(6 TO 7) 

7625 INPUT "ACCT. NAME "se$: IF e$<)"* THEN LET A 
9(X,1)=es 

7626 PRINT AS(X,1) 

7630 INPUT "St. ADDRESS 
$(X,2)=e$ 

7631 PRINT A8(X,2) 
7632 INPUT “RR or BOX";e$: IF e$()"* THEN LET As( 
X,3)-e$ 


+ IF e$()"* THEN LET A 


7632 INPUT "RR or BOX";e$: IF e${)** THEN LET AS{X, 
3)=es 

7633 PRINT A(X,3) 

7638 INPUT *CITY*:: 


7636 PRINT AS(X,4) 

7640 INPUT “STATE, & ZIP*je$: IF e$()*" THEN LET AS 
(45,1 TO 8)=es 

7641 PRINT AS(X,5,1 T0 8) 

7650 POKE cap,8: INPUT “IS THIS CORRECT Y/N 2°sY$: I 


3 IF e$()"* THEN LET AS(X,4 =e 


F Y$="N" THEN CLS : PRINT “ACCT NO. "3X: POKE cap,o 

: GO TO 7610 

7660 INPUT “Change TERMS Y/N ? "sy$: IF y$()"Y* THEN 
GO TO 7800 

7710 CLS = PRINT “TERMS MENU: 


$(1)'TAB 55°2. "318(2)'TAB 55 
378(4)°TAB 53°5. "3T8(5) 
7720 INPUT AS(X,5,14): IF CODE AS(X,5,14))48 AND COD 
E A$(X,5,14)(54 THEN G0 TO 7730 
7725 BEEP .1,1: BEEP 1,.1: GO TO 7710 
7810 GO TO j5 
8000 REM close 
8010 GO SUB 450 
8050 CLEAR : RESTORE : RESET 
9000 REM save data 
9005 GO suB 450 
9010 CLS = FLASH 1: PRINT AT 0,103" SAVE DATA ": FLA 
SHO 
9015 PRINT ’’*Please have formated DISK Ready* 
9020 PRINT '*Place SOURCE disk in DRIVE 2*** DES 
TINATION disk in DRIVE 1°*"**Press ENTER when READY* 
2 PAUSE 0 

9100 FOR z=1 10 48 
9110 LET c$="0100"+STRE z: IF 2)9 THEN LET c$="010" 
+STR$ Z 
9120 RANDOMIZE USR 100: GO TO 1 
9125 RANDOMIZE USR 100: LOAD c$+*a.A$* DATA as{ ) 
9126 RANDOMIZE USR 100: LOAD c$+"d.AS” DATA ds{) 
9130 RANDOMIZE USR 100: GO TO 0 

a) 


GO TO 9500 


9135 RANDOMIZE USR 100: SAVE c$t*a.A$” DATA a: 
9136 RANDOMIZE USR 100: SAVE c$+"d.As* DATA d3( 
9140 NEXT z 

9150 GO TO j5 

9500 REM 

9501 DIM 18(10,11): FOR Z=1 TO 10: READ a$: LET 18(Z 
}eaS: NEXT Z 

9502 DATA “Merchandise”, “Plumb/Heat’ , “Photo Fi 
ppliance", ‘Furniture’, Labor”, "ServiceCall", ‘Credit’ 
»"Rec.on Acct", "Interest" 

9503 DATA "NET 30°,"NET 60°,"NET 90°, "NET 120°, "NONE 


9504 DIM T8(5,8): FOR Z=1 TO 5: READ a$: LET T9(Z)=a 
$: NEXT Zz 

9515 LET x=20: LET CAP=23658: LET j0=300: LET j1=350 
? LET j2: + LET j3=355: LET j4=400: LET j5=500: LE 
T j6=502: LET o=0 

9520 DIM AS(X,5,21): DIM 08(X,24,20) 

9525 DIM hs( 4,80) 

9530 INPUT "TODAYS DATE ? M/0/Y";8$ 

9535 IF LEN b$()6 THEN GO TO 9530 

9540 LET g$=b$(1 TO 2)+"/"+b$(3 TO 4)+*/*+b3(5 TO 6) 


9550 LET C$="01001" 
9552 DIM vs 192) 
9555 LET ES=* * 


26 


9858 REN 

9560 RANDOMIZE USR 100: LOAD "01001a.A$" DATA as) 
9565 RANDOMIZE USR 100: LOAD "01001d.AS* DATA ds() 
9875 GO TO j5 

9599 STOP 

9600 PRINT * STOP this will erase all files": PAUSE 
0 

9610 DIM AS(20,5,21): DIM 08(20,24,20) 

9620 FOR x=1 TO 48 

9625 LET x$="0100"HSTRS x 

9628 IF x)9 THEN LET x$="010"+STRS x 

9630 RANDOMIZE USR 100: SAVE x$t'a.As" DATA as( ) 
9635 RANDOMIZE USR 100: SAVE x$t'd.AS" DATA d8( ) 
9640 NEXT x 

9650 STOP 


The LKDOS Auto Load Program 


To Auto SAVE, type: GO T0 60.,Then touch ‘d*. 


5 CLEAR VAL "63222° 

10 REM LKdos AR loader 

20 PAPER NOT PI: BORDER NOT PI: INK VAL "7": CLS 

22 LET mi=VAL "100°: PRINT AT VAL "9",NOT PIs "Does. 
Printer need Line Feed? (1) Yes (2) No": PAUSE N 
OT PI: LET z=NOT (CODE INKEY$-VAL "49"): RANDOMIZE U 
SR mi: OPEN #VAL "3","lp*: RANDOMIZE USR mi: POKE VA 
Lt *16096",NOT PI: RANDOMIZE USR mi: POKE VAL "16092" 
s(z#VAL "10"): CLS + INPUT "Enter Printer’s Max Line 
length "3z: RANDOMIZE USR m1: POKE 16090,z: INPUT * 
Enter Left Margin*;z: RANDOMIZE USR mi: POKE VAL "16 
094°,(Z-VAL 'L" AND z)NOT PI)+(VAL "0" AND z(NOT NOT 
PI): PRINT AT VAL “8*,NOT PI; "Turn Printer ON, ENTE 
R": PAUSE NOT PI: CLS : LPRINT 

30 RANDOMIZE USR mi: LOAD "taswid.Ci"CODE 

40 RANDOMIZE USR VAL "64300" 

50 RANDOMIZE USR mi: LOAD “AR1-9.B1' 

60 LET z=VAL "65367"- FREE +VAL "300": POKE VAL ‘2 
3731" ,z/VAL "256": POKE VAL °23730",z-(INT z/VAL "25 
6")8VAL '256": RANDOMIZE USR VAL "102": GO TO 5 


NOTES: 


1. When the min program is keyed in, 
SAVE it witha tithe of “ARI-9.B1; 


2. This nequines a 64 colum 
display file. You wikk need either the 
Zebra OS-64 cartridge or the TASWI code 
as supplied in the TASWI cassette. 
Either of these work with either SPDOS or 
LKDOS, but to use the OS-64 with LKDOS 
the modification given in the LKDOS 
manual (to stack an EPROM) is required. 


RRRATRAR RATER RERRRRRRRERER RRR RER RR ARERR EIT 
* OTHER USES FOR THE T/S 2068 LARKEN RAMDISK * 
RARER RAREAARARARARER RAR ARERR ER RRR EERE 
LARRY CRAWPORD 357 REYNOLDS RD 
LONDON ONT CANADA N6K 2P8 


BACKGROUND 


The LARKEN RAMDISK banks are all mapped into the 
DOCK bank of the 2668 even though the board is 
Plugged into the back expansion slot. 
Consequently, it is possible to load any of the 
RAMDISK banks with data for a database or 
spreadsheet. This means that up to 256K more 
information can be handled and increases the 
usefulness of the “old workhorse" dramatically. 

It is also possible to load a DOCK bank with code 
which simulates a BASIC cartridge (AROS) and to 
run that code as a BASIC or m/c program, This is 
what cartridges do. 


LARKEN BANK SHITCHING 


First of all, the 2068's RAH is organized into 8 
chunks of 8K each, Normally, with Display File 1 
in use, the bottom two contain ROH and the next 
one the system variables and ROM routines which 
are moved to RAH on power-up. These 3 chunks 
should not be disturbed. 


The LARKEN RAMDISK board uses the top 4 chunks (4 
to 7) to make up a bank, A bank is made active by 
switching off the HOHE RAM chunks 4 to 7 and 
turning on one of the RAMDISK banks. The active 
bank is actually treated as a DOCK bank, Thus the 
RAMDISK board holds up to 8 DOCK banks which can 
be selected from the keyboard, 


HOW? 


Which chunks are active in HOME and which active 
in DOCK is controlled by the Horizontal Select 
Register (HSR) located in PORT 244 (F4 hex). The 
individual bits which make up the byte in the port 
determine in which bank the corresponding chunk 
will be active, A sero bit means the chunk is in 
HOHE. Since we want to use the top 4 chunks in 
DOCK, we will load the HSR with 111109996 binary 
(244 decimal). Thus <OUT 244,249> activates the 
DOCK bank. 


WHICH DOCK BARK? 


UARKEN uses PORT 7 to select the one-to be 
activated. The second page of the LARKEN RAMDISK 
notes gives the code numbers corresponding to the 
banks: Bank ABCDRFGH 

Code 73516249 
Thus <OUT 7,7> will select bank A. Further, LARKEN 
uses bit 6 of PORT 7 to control the WRITE-PROTECT 


circuitry of the RAHDISK board. Axero in bit 6 
puts the bank in the READ-only mode. To be able to 
load data into the bank, we must add 1600000 
binary (64 decimal) to the bank code number. 
Therefore, <OUT 244,249: OUT 7,71> will permit us 
to put data into DOCK bank A. 


WHAT CAN BE PUT INTO IT? 


Strictly code, I use two of the banks to hold 
records for a database program. It switches the 
banks in or out as needed to add records or to 
sort them. 

The code, however, can be in the form of an AROS 
cartridge and therefore be used to hold a BASIC 
Program, 


HOW TO SAVE THE RAMDISK BANK 


Any data read into the bank would destroy the 
existing data. To preserve the RAMDISK, enter the 
following: OUT 244,249: OUT 7,7 :RANDOHIZE USR 
169: SAVE “RAMDSK.CL” CODE 32768,32768. The 
contents of bank A will now be safely on floppy 
and we can mess around with the bank as much as ve 
want. The DOCK bank, however, is still active and 
needs to be turned off. 


HOW TO GET BACK TO NORMAL 


The commands <OUT 244,98: QUT 7,0> will do the job. 
With a sero in the HSR via PORT 244, all bits are 
seros and all chunks of RAM will be active in 
HOHE, The zero to PORT 7 will turn return to bank 
H which has a code of zero. This is the normal 
condition for RAMDISK. 


BANK H - A SPECIAL CASE 


When the computer is turned on or NEWed, it checks 
the DOCK to see if an AROS is present. If one is, 
it is automatically activated, A simulated AROS 
loaded inte this bank will run if the <NEH> key is 
pressed, If the power supply is turned off, the 
code in the bank will be lost even if the battery 
backup is connected. If you want a permanent AROS 
in bank sero, install an EPROH containing the 
utility in the H bank socket. I have HOT-2 in the 
bank and a switch in the line running fron pin 1 
of the 74145 to pin 2 of the H RAM chip, Without 
the switch, HOT-2 would run every time the 
computer was booted. 


HOW TO RESTORE THE RAHDISK BANK 
<OUT 244,246; OUT 7,71; LOAD "RAHDSK.CL"CODE> will 
put the RAMDISK bank A back in the RAM chip. Don't 
forget to <OUT 244,9> 


27 SIMULATING AH AROS CARTRIDGE 


An AROS cartridge must have 8 “overhead” bytes 
Starting at 32768 (8996 hex) to give the computer 
the information it needs to run the BASIC program, 
See page 189 of the Tech Manual, 

For our demo we will POKR into bank A the 
following bytes: 1,2,8,128,15,1,0,8. 

The first 1 indicates that this is a BASIC 
“cartridge”. 

The 2 signals AROS as opposed to LROS, a Language 
cartridge. 

The 8 and 128 form the beginning address of the 
BASIC program (low byte first). In this case the 
BASIC will be at 8#256*128=32776 or 9908 hex. 

The 15 (99081111 bin) means that chunks 4 to 7 
will be active in the DOCK bank. This is exactly 
opposite to the format for the HSR. 

The second 1 denotes an Autostart for the program. 
The two reros reserve no bytes for m/c variables. 
The BASIC program will be loaded as code starting 
at 32776, 


CREATING AN AROS 


1, Save RAMDISK bank A as described earlier and 
then key in OUT 244,80 
2, Key in 19 CLS: PRINT "OK": STOP 

28 OUT 244,240: OUT 7,71 

30 RESTORE: POR X= 62768 TO 32775: 

READ Y: PORE X,Y: NEXT X 

49 DATA 1,2,8,128,15,1,0,0 

56 OUT 244,98 
SAVE as “test.BL" 
4. SAVE as "test.C1"CODE PRER 23635+256%23636, 1000 
The peeks simply find the address of the start 
of the BASIC program. It is moved up 5@ bytes 
if the large printer is active. The 1090 is an 
arbitrary number large enough to be sure that 
all of the program is saved. 
Now <GOTO 28>. This will put the “overhead 
bytes” for the AROS in place. 
Key in OUT 244,248: LOAD “test.cl"CODE: OUT 244 
,§, This will put the BASIC program into the 
“cartridge”. 
Press <NEW> key. This activates the AROS and 
Line 16 of thé program should run. 
If you saved a RAMDISK bank earlier, load it 
back in. 


wo 


wo 


on 


~ 


RUNNING AN AROS (BASIC IM DOCK) 


If DOCK bank n contains an AROS, then <OUT 7,bc: 
NEW> will RUN it (be is the LARKEN code for bank 
n). It's that simple. S 


STORING AN AROS 


If the code is to be left in a DOCK bank and 
maintained with the battery backup, it should not 
be in a bank that was formatted as a RAMDISK bank. 


If the bank is in Drive 4, then keep the AROS on 
floppy and load it in when you need it. 


RUNNING AROS FROM DOCK AND BASIC IN HOME 


Programs can exist in both banks and either one 
can be RUN. Which one is active depends on the 
contents of the aros flag at 23759. A sero at this 
address will allow the HOHE bank program to be 
run, A128 there activates the DOCK program. 

A program in DOCK cannot be listed nor can it be 
edited. So if you attempt to enter a line and 
can't, you know that you are in DOCK and must 
return to HOHE. 


Steps to run both: 


1. Boot the DOCK program with <OUT 7,bce: NEW>. 
This HUST be done first to let the computer 
know that an AROS is present. 

2. Key in PORE 23759,0 to activate HOHE bank. 

3. Load in the BASIC program. 

4. POKE 23758 with @ or 128 depending on the bank 
wanted and then RUX or GOTO the appropriate 
line number, 


SUMMING UP 


The ability to use the RAMDISK banks for other 
purposes expands the usefulness of the 2068 
dramatically, Data that could not be handled by 
the unexpanded machine can now he dealt with 
easily. 

Huge BASIC programs can be breken down into 
segments, stored in DOCK banks, and called into 
action as needed by a short controlling program. 
This would leave most of HOME RAH free for the 
storage of data. 

Expansion of the 2968 makes economic sense too, 
removing some of the pressure to move on to a 
bigger machine that can't be tinkered with. 

What we need now is a mess of programs that 
exploit this potential, 

Por starters, George Chambers has two of mine. One 
is a database and the other a HOHE/DOCK progran 
handler, Ask him for them. 


Explore and enjoy! Larry C 


28 


RIERA RR RRR RRR RR IRR RRR RRR ERO 


A T/S 2868 UTILITY TO PUT BASIC PROGRAMS INTO THE 
LARKEN RAMDISK BANKS 


DONATED TO THE PUBLIC DOMAIN BY LARRY CRAWFORD 
357 REYNOLDS RD LONDON ONT CANADA N6K 2P8 
(519) 657-9119 27 JAN 98 


RRRARRARRARRARAARRARR RAE RRERER ARERR RAR RA RRR RE RRR 
BACKGROUKD 


The LARKEN RAMDISK banks are all mapped into the 
DOCK bank of the 2868 even though the board is 
plugged into the back expansion slot. 
Consequently, it is possible to load any of- the 
RAKDISK banks with code which simulates a BASIC 
cartridge (an AROS) and to run that code as a 
BASIC program. This suite of programs will allow 
you to create your own simulated cartridges in the 
RAMDISK memory chips. A program running from DOCK 
leaves the HOME bank free to hold another program 
and/or data, Refer to Bill Jones' EXTRA MEMORY 
PROGRAMMING article in Update Kagazine for some of 
the implications of working in DOCK bank. 

See References 
PAqe 33 


1. Allows a choice of any of the 8 RAMDISK banks. 


FEATURES 


2, SAVEs the chosen RAMDISK bank to 
automatically. 


floppy 


3. Will RUN a program in DOCK or HOME bank. 


4, Allows a BASIC program to be MERGED into HOME 
bank or a new program to be keyed in. 


5, Hill move a program from HOME bank into DOCK, 


6. SAVEs the program in HOME as a BASIC program 
and the one in DOCK as cartridge code. 


7, Reloads the- saved RAMDISK bank after these 
SAVEs have been completed thus restoring the 
computer to its original condition. 


8. Uses no variables internally except for the 
string variable 7$ so will not normally interfere 
with the operation of a BASIC program HERGEd with 
it. 


9. ALL features are HENU driven for ease of use. 


19. The screen and ink colours change when you 
change banks so that you will know which bank is 
active. This information is important because you 
cannot LIST or EDIT lines if you are in the DOCK. 


GETTING STARTED 


Type in listing 1 ("maker.Bl") and GO TO 9999 to 
save it. 

GO TO 10@ to create and save “mave2#j.cl". This 
step need be done only once for each disk to be 
used. 


Type in listing 2 ("loader.B1”) and GO T0 9999 to 
save it. This is the program to be RUN when a new 
AROS is to be created or programs are to be run in 
both HOME and DOCK banks. 


Type in listing 3 ("PRGMV.B3"). Save as "PRGMV.B3" 
and as a code file: <RANDOMIZE USR 100: SAVE 
“CORE.CL"CODE PEEK 23635+ PEEK 23636,3008>. The 
two PEEKs find the beginning of the BASIC progran. 
This is necessary since LARKEN moves (prog) up 50 
bytes if the large printer is activated. The 3660 
is an arbitrary number large enough to be sure 
that all of the program has been saved. 


USING THE PROGAMS 
(A TUTORIAL) 


1, Since the RAMDISK banks will be used, the WRITE 
PROTECT switch must be in the OFF position. 


2, The floppy disk must have its protect sticker 
removed, 


3, Since both the RAMDISK and floppy disks will be 
messed with, it is prudent to make copies of eac! 
before using the program. ie 


4, LOAD “loader.Bl". You will be asked which bank 
is to be used. 

Enter <1> for bank "A", <2> for “B", etc. 

Use <1> for a trial run. 

There will be a great whirring and clanking for a 
few seconds while it saves the RAMDISK bank you 
chose, loads in the matching DOCK bank and a short 
me routine. 

The screen will flicker, simulating a crash, and 
then some more whirring while the BASIC controller 
program is merged inta HOME bank. 

Finally, a menu in black ink on cyan paper will 
inform you which DOCK bank you are in and give you 
the choice of going to HOME bank or running a 
program in DOCK. 

The whole process is quite scary. 


5. If you choose to RUN in DOCK, the same menu 
will appear since the only program resident is the 
BASIC controller program (PRGMV.B3). 
6. The other option will reveal the BASIC 
controller listed in white ink on blue paper, 


29 


Since the program was just HERGEd into the HOME 
bank, it will not autorun. 
Use <GOTO 9999> to bring up the menu. 


7, The menu will give you 4 options: 1: RUN, 2: 
MERGE, 3: MOVE to DOCK, and 4: SAVE & RESTORE. 


8. Try option 1. You will be asked which bank you 
want to RUN in. Bither choice at this time will 
come up with the menu for the bank chosen with the 
appropriate ink and paper colours, 

After going to DOCK and returning to HOME, use 
<GOTO 9999> again to return to the menu. 


9, Now try the option 2 ta merge a program into 
HOME bank, i 

A CAT will be performed and you will be prompted 
to enter the name of the progran. 

The program to be merged must not include lines 
above 9999 or it will destroy the controller 
program and you will lose control. 

Tf the program uses the TIMEX printer, it should 
make a USR call to 2613 to clear the printer 
buffer before any printing is done and should 
reload "mov2#j.C3"CODE after using the printer. 
‘Try “test.B1", This is a one line PRINT program at 
line 16. . 


10, Return to the menu and choose the RUN option, 
Choose DOCK and note that its menu comes up again 
because the test program has not been moved into 
DOCK yet, 


Jl. Return to HOME and call up the menu. 
This time choose to RUN in HOME. The test program 
will run and print an "OK" message, 


12. Return to the menu and choose the HOVE option. 
A prompt will tell you to hit akey to return to 
menu. 


13, Now RON in DOCK and see the test program 
running, 

Use <GOTO 999@> to get to the DOCK menu. 

14, Return to HOME and delete the print line. 


15. RUN in both banks and note 
Program still works in DOCK. 


that the test 


16. Now move the program to DOCK and RUN in both 
banks again. 

The test program has been removed from DOCK. 

(This program should be removed before u’ing the 
last option of saving the DOCK program) 

17, Put a line somewhere, <1 REM> 
will do nicely. 

The SAVE option deletes lines 1 to 9998 and there 
must be something to delete. 30 


For example, 


Choose option 4 of the HOME menu. 

The program in the HOME bank will be saved as 
"HOMEn.B1" where n is the chosen bank. 

The DOCK bank will be saved as "DOCKn.Cl"CODE 
32768,1. where 1 is the length of the file in 
DOCK. 

The RAMDISK bank "RDBNKn.Cl" will be loaded, thus 
restoring RAMDISK to its original state. 

But the RAMDISK bank is still switched on and a 
program loaded in now would overwrite the data in 
the bank. 

You will be prompted to switch off the power 
supply before doing anything else with the 
computer. 


18. Now switch on and try RAMDISK. It should work 
normally, 


SASSO ITI IIIT IER EER TT Oe 
USING YOUR AROS 


Assume that you have moved a BASIC program "XX.B1” 
into bank 7 and want to keep it there to be run at 
any time. 

Bank 7 cannot be formatted as a RAMDISK bank in 
drive 4. 

The AROS was saved as "DOCK7.C1" when you created 
it. Change the name to "XXAR.C7" and put it into 
bank 7 as follows: 

<OUT 244,249: OUT 7,68: RANDOMIZE USR 100: LOAD 
"XEAR.C7"CODE> <QUT 244,0: 0UT7,@> 

The program will stay in the bank as long as the 
battery backup is in place. i 

To run the AROS: <OUT 7,4: NEW>. It's that simple, 
The bank can be used for other prograns since the 
code resident in bank 7 will be saved when the new 
BANK7.Cl is created with the package and will be 
restored when the process is finished. 

Thus any number of programs can be run in the one 
bank as long as each is given a distinctive name 
and is loaded into the bank as required. 

File "XXAR.C7" would have to reloaded if it is 
desired to have it resident in the bank. 


RRARARRARAERERRRRELARRRRARRAR RAR RRR ERR ORE 
LISTING 1 (maker.B1) 


5 REM TO CREATE THE CODRUTILITY "nov26j.C 

3" WHICH SWITCHES PRO DOCK 10 HOME BANK AND HOVE 
$A PROGRAM FROM HOHE TO DOCK, <GOTO 100> © LARR 
Y CRANFORD 26 JAN 90 

20 PRINT AT 10,4;"THIS PROGRAM WILL PORMAT";AT 
11,9;"A RAMDISK BANK";AT 13,4;"WHICH BANK WILL BE 
USED?";AT 14,12;"(1 TO 8)": INPUT B: LET BS="735 
16246": LET LRBNK=CODE B§(B) 416 

30 RANDOMIZE USR 160: LOAD "CORE.CL"CODE 32786: 
RESTORE 38: POR X=32768 10 32779: READ I: PORE X 
(Yi NEXT X: DATA 1,2,12,128,15,1,0,6,B,LRBNK, 184, 
Ul: RANDOMIZE USR 169: SAVE "DOCK"+STRS Bt".C1"co 
DE 32768,3900 ; 


40 STOP 

19@ RESTORE 166: POR X=23296 10 23334: READ Y: P 
OKE X,Y: NEXT X: DATA 175,958,198,992,195,040,014 
,237,091,083,092,042,689, 092, 205,869,623,017,012, 
128,175,211, 244,126,245, 862,240,211,244,241,018,8 
35,019,011,120,177 032,238,201 

116 RANDOMIZE USR 109: SAVE “mov20j.C3"CODE 2329 
6,39: STOP 
9999 RANDOMIZE USR 199: SAVE “maker.Bl LINE 1 


LISTING 2 (loader.Bl) 


19 CLEAR 65367: PRINT AT 16,0;"THIS PROGRAM WIL 
L HOVE A BASIC"'" PROGRAM INTO A RAMDISK BANK"''™ 

WHICH BANK WILL BE USED?"'™ (1 To 8)": 
INPUT B: LET BS="73516240": LET LKBNR=CODE BG(B)+ 
16 

20 OUT 244,244: OUT 7,LKBNK: RANDOMIZE USR 169: 
SAVE “RDBNR"#STRS B+".CL"CODE 32768,32768: RANDO 
HIZE USR 16: LOAD "DOCK"+SIRS Bt" .C1"CODE : OUT 
244,02 NEW 
9999 RANDOHIZE USR 100: SAVE “loader.B1" LIKE 1 


LISTING 3 (PRGHV.B3) 


1@ REM DO KOT DELETE THIS LINE 
9991 POKE 26664,(PERK 26664)+1: GO TO 9997+(PERK 
26664>1)+(PEEK 23759=6) 
9992 CLS + PRINT AT 1¢,0;"RUN PROGRAM IN"''"L: HO 
ME BANK"''"2:DOCK BANK"''"CHOOSE": PAUSE @: PORE 
23750, 128%(INKBYS="2"): BORDER 1+{ INKE! yea: 
PAPER 14( INKEYS$="2")*4: INK (INKEY$="1")%7: GO TO 


4 

9993 CLS : RANDOMIZE USR 100: CAT "",: INPUT “ENT 
ER NAME OF PCH 70 BE HERGED ";2$: RANDOMIZE USR 
100: MERGE 2$: GO TO 9999 

9994 CLS : RANDOMIZE USR 190: PORE 26662, (PEEK 23 
6414256*PREK 23642)-(PEER 23635+2S6*PERK 23636)+1 
4: RANDOMIZE USR 23363: PRINT AT 10,6; "THIS PROGR 
AM 18 NOW IN BOTH DOCKAND HOME BANKS’ '“AND YOU A 
RE IN THE HOME BANK"''™PRESS ANY KEY FOR MENU": P 
AUSE 6: CL 

$ : GO TO 9999 

9995 RANDOMIZE USR 160: SAVE “HOME"#STRS PEEK 266 
60+".BL": DELETE 1,9990: OUT 244,240: OUT 7,PEEK 
26661: RANDOMIZE USR 199: SAVE "DOCK"+STR$ PEEK 2 
66604" .CL"CODE 32768, PEEK 26662+256*PEEK 26663: R 
ANDOMIZE USR 199: LOAD "RDBNK"#STR$ PREK 266604". 
CL"CODE : 
OUT 244,0: OUT 7,8: CLS : PRINT AT 10,0;"HOME, DO 
CK BANKS HAVE BEEN SAVED"''"RAMDISK BANK HAS BEEN 
RESTORED"''"SHITCH OFF POWER SUPPLY BEFORE"''"LO 
ADING ANOTHER PROGRAM": STOP 

9996 BORDER 1: PAPER 1: INK 7: CLS : RANDOMIZE US 
R 23296 

9997 RANDOMIZE USR 190: LOAD “mov20j.C3"CODE : OU 
T 244,240: PORE 26660,PEEK 32776: POKE 26661, PEEK 
32777: POKE 26662,PEEK 32778: POKE 26663,PEER 32 
779; OUT 244,63 RANDOMIZE USR 160: MERGE "PRGHV.B 
3° 


9998 BORDER 5: PAPER.5S: INK @: CLS : PRINT AT 19, 
$;"YOU ARE NOW IN DOCK BANK ";PEEK 26660''"YOUR C 
HOICES ARE"''"1: SHITCH TO HOME BANK"''"2: RUN A 
PROGRAM IN DOCK BANK"''"ENTER CHOICE “: PAUSE @: 
GO TO 9996%(INREYS="1") 

9999 OUT 244,@: CLS : PRINT AT 9,7;"YOUR CHOICES 
ARE"''1; OPERATE A PGM IN BITHER BANK"''"2: HERG 
EA PCH TO HOME BANK"''"3: HOVE THIS PGH TO DOCK 
BANK"''"4: SAVE HOME & DOCK BANKS ";PEEK 26660;" 
anp"'* RESTORE RAMDISK BANK"'' ‘ENTER CHOIC 
BY: PAUSE 

§: GO TO 9991#CODE INKEYS-48 
RRARALRARAARAAAAAARARARAARAARARARTRARARARARARAATAR 


DOCUMENTATION FOR THE PROGRAMS THAT MARE UP THE 
1/8 2068 UTILITY TO PUT BASIC PROGRAMS INTO THE 
LARKBN RAMDISK BANKS 


DONATED TO THE PUBLIC DOMAIN BY LARRY CRAWFORD 
357 REYNOLDS RD LONDON ONT CANADA N6K 2P8 
(519) 657-9119 27 JAN 90 


RRERERRRARRER RARER RERREARER AR RR ERRAERERERER ARRAS 


For background and theory refer to the tutorial 
Tasword file "tutor.CT” on this disk. 


A RAMDISK bank is one of the RAK chips on the 
LARREN RAMDISK board, 

A DOCK bank is one of these chips used without 
being fomatted into drive 4. 

An AROS is a DOCK bank file that 
"overhead bytes" and a BASIC progran. 


contains 


JAERI RRR RI IR IRR ROE 
“maker .B1" 


This short program is really two programs in one. 
Lines 20 and 3@ will create a code file which, 
when loaded into a DOCK bank, simulates a BASIC 
AROS cartridge. Lines 19@ and 11¢ create the 39 
byte m/c program which is called to switch from 
DOCK ta HOME bank and to move a BASIC program from 
HOME to DOCK bank. 


LINE 20 

Prompts for the bank to be used as an AROS. This 
number is assigned to variable B. 

RAMDISK banks are identified as A, B, C,...,H. We 
will use the sequence 1, 2, 3, ...,8 instead, 

This will help distinguish between the lettered 
RAMDISK banks and the numbered DOCK banks. 

A string variable, 85, is assigned the set of 
integers which are the RAMDISK bank code numbers. 
The appropriate number is sliced out of the 
string, adjusted to turn off the write-protect 
feature, then assigned to the variable LRBNK. 


LINE 3¢ 


3,1; Loads in a previously prepared code program. Hore 


on that later. POKES the “overhead bytes” for the 
AROS inte the first eight addresses in the bank. 
Then pokes the bank number and the bank code 
number into the next two. The last two bytes are 
the number of bytes to be saved as code. The two 
numbers in the DATA statement represent 3608, an 
arbitrary number large enough to include all the 
data. 

Then the file is saved as “DOCKD.CL", where b is 
the bank number. 

A file of this format must be stored on the disk 
before the utility can be used. 


LINE 106 
POKES the following m/c program into the beginning 
of the printer buffer: 
23296 XOR A 
LD (AROS FLAG),A <switches to HOME bank> 
JP 3624 decimal <the entry point to BASIC 
in ROH> 


23303 LD DE, (prog) 

LD HL, (elin) 

CALL 5957 decimal <"difference" subroutine 
in ROH. Loads BC with 
difference between HL 
and DE. Loads HL with 


(preg)> 

LD DE,3278¢ dec. <where the BASIC pgm is 
to be moved> 

loop XOR A <load A with rero> 

OUT (244),A <all chunks of RAM in 
HOME bank active> 

LD A, (HL) <get byte of BASIC pgm> 

PUSH AF <store byte> 

LD A,248 dec. 

OUT (244),A <chunks 4 to 7 active in 
DOCK bank> 

POP AF <get byte of BASIC pom 

LD (DE),A <put byte in DOCK bank> 

INC HL 

INC DE <inerease both pointers> 

DEC BC <decrease counter? 

LD A,B 

ORC 

IR NZ, loop <loop until counter is §> 

RET 

LINE 110 


The 39 bytes are saved as “mov24j.Cl" ready to be 
loaded later when needed. 
Lines 199 and 116 need only be used once. 

é 
PIronririreerreceee recite irc eeneet ciel lig) 


"Loader .B1” 


This is the program that is rum to actually use 
the utility. 


LINE 10 
Prompts for the bank number, B, and calculates the 
value for RDBNK. 


LINE 20 

Switches on the chosen bank and saves the resident 
RAMDISK data. 

Loads in the matching DOCK bank AROS. 

Switches on ali chunks of HOME bank, leaving the 
DOCK bank selected. 


thetthttinhereeategettentsentecteseteeatenee tes 
“PRGHV.B3" and “CORE.C1"” 


Both are the same program: one saved as BASIC and 
the other as a code file, Between them they are 
the controllers for loading and running BASIC 
programs in HOME and DOCK banks. 

The code version is resident in the AROS and runs 
when the computer is NEWed by the loader progran. 


LINE 16 

this is a dumy line needed if no other program is 
merged into HOME bank. The SAVE option deletes 
lines 1 to 9999. Therefore, there must be at least 
one line in that range. 


LINE 9991 

Address 26664 that is peeked, incremented, and 
poked, is located in an unused corner of RAM. it 
has a value of zero on startup and is used here as 
a flag to indicate whether or not this is the 
first run of the program. 

If this is the first run, PEEK 26664 will not be 
greater than 1 and PERK 2375@ will not equal sero 
(we're in DOCK now so 23759 holds 128), ‘Thus the 
GOTO will be to 9997+0+4. 

If this is not the first run and we're in DOCK, 
the GOTO will be to 9997+1+4. 

If we're in HOHE bank, GOTO 9997+#1+1. 


LINE 9997 

this line is used only on startup. First the n/c 
routines are loaded into the printer buffer. 

The top 4 chunks of HOME bank are switched off. 
Then the bank number, bank code number, and number 
of bytes of code in the AROS are all poked into 
the corner of RAM next to our flag. 

These parameters must be accessible no matter 
which bank is in use, 

Finally, the HOME bank is restored to its full 
size and the BASIC controller, “PRCMY.B3" is 
merged into place. 


LINE 9998 

Sets the paper and border to cyan and ink to 
black. These colors inform you that the computer 
is operating in DOCK bank. 

A menu is displayed giving you the option of going 


32 to HOME bank or running a program in DOCK. 


If the choice is to goto HOME then the GOTO will 
be to 999681. If not, GOTO  9996%0; thus 
effectively running the program in DOCK, 


LINE 9996 

Sets the paper and border to blue and ink to 
white. 

These colors inform you that the computer is 
operating in HOME bank. 

The bank-switching routine at 23296 is called and 
control will now be in HOME bank. 

The resident program will not run automatically 
but must be activated with a GOTO to the 
appropriate line number. 

GOTO 9999 will always bring up the menu in HOME. 


LINE 9999 

The HOME menu. First, the HOME bank is switched in 
and the 4 choices displayed. 

PEEK 26668 in the SAVE option is the bank number. 
The GOTO line is simply 9991+ the choice number. 
If the first option is selected, contro] is passed 
to line 9992. 


LINE 9992 

Anew menu is displayed giving the option of 
running the program in HOME or DOCK banks. 

The PORE to 23750 is either 9 or 128 depending on 
the bank chosen. The operative bank is determined 
by the value stored in 23750, 

Similarly, the border, paper, and ink colors are 
set by the Boolean logic in each of the 
statements. 

The GOTO @ effectively runs the program in the 
selected bank. 


LINE 9993 

Activated by the MERGE option of the menu. 

It does a CAT and prompts for the name of the 
program to be merged. 

MERGES that program and returns to the menu. 


LINE 994 

Called by the MOVE option of the menu, Whatever 
program is resident in HOME will be placed into 
the AROS. 

First, the number of bytes between (elin) and 
(prog) is found and 14 bytes added to allow for 
the “overhead” bytes of the AROS and our 
parameters, This number is double poked into 
26662, replacing the previous length stored. (We 
had poked in 3006 originally. Remember?) 

The m/c at 23303 is then called to do the actual 
move then a message is displayed to inform you 
that the move has taken place. 

The menu is then called up once more. 


LINE 9995 
The SAVE option. Lots of activity here. 
First, the program in HOME is saved under the name 


“HOMED.B1" where b is the bank number. 

Then lines 1 to 9999 are deleted to be sure that 
line 9995 is not in a chunk of RAM that will get 
switched off. 

Next, chunks 4 to 7 are switched off for MOME bank 
and the write-protect turned off in DOCK. 

The number of bytes to be saved is PEEKed from 
26662 and 26663 and the AROS saved as "DOCKb.Cl". 
the RAMDISK bank that was saved at the beginning 
is put back in place by LOAD “RDBNKD.CL". 

A message is displayed to be sure that the 
computer is completely back to normal by switching 
off the power supply before using it with another 
program, 


PI trICCiiiee tier lieeticeoieenihieoiiei ring gy 
“CORE.CL" 
The controller program "PRGKV.B3" saved as code, 


After PRGHV.B3 is typed in, it is saved as 
"CORE.C1"CODE PEER 23635+ PERK 23636, 3000. 


RRRRARARERRARRAERR RARER ERR IRE RRR RRR RR TRE OR 


VARIABLES USED BY THE UTILITY 


IN AROS IN RAM =—- MEANING 
32776 26666 active bank number 
32777 26661 LARKEN bank code 
26662,3 length of code file in AROS 


32778,9 


26664 flag for first run of pgm 
RRRARARARERERERE RE RIERA ERE REET IRAE RAR TERRA 


a REFERENCES z— 


beck issues 
of Update and the total of these 
form a complete reference on 
Extra ewig, betk from the 


Oct 87-- Merory map 


Mod of TS-1000 Ram. 


Apr 88-- System Variables. 
MOVE > Program. 
Jul 88-- DOS-64 + Bankswitching. 
First of Chuck Bothner's 
series on RAM EXPANSION, 
‘Oct 88-- Larken Ram Disk. 
Extra menory recap. 
tuck Bothner's second 
art on RAM EXTENSIGN. 
Jan 89-- LKDOS OFF Switch. 
Jul 89-- FD-68 Update (bkswitch). 
Oct 89-- Larry Crawford's first 
Ex Merory article. 
Jun 90-- Two articles in this 
dasue. 


Snowe ~inmerrer 


WIDJUP (Bill Pedersen, 1120 Merrifield S.£., Grand Rapids, MI 49507) has sane 
interesting facts on PRINTERS and DRIVERS that are applicable to all Stes, His 
CAD DISKS are for the TS-2068 LXDOS Systers. Write for informeticn. 


DOT MATRIX PRINTER DRIVER 


The WIDIUP Co. graphic printer driver for 9 and 24 pin printers 
isa vary flexible taol. [t was designed to do WINDOWS. These 
windows refer to the printed page, not the screen. 


A window can be mapped to the screea in many ways. Some can 
lead to confusion. If it happens to be a screen dump, it's easy 
to forget that it is the printer which is being mapped to the 
screan--not the opposite. All windows are empty until written 
to by programs. 


Artwork programs write graphics to the screen, or to a file 
which can be displayed. For computers with lots of menory the 
files might be printer page images, often compressed, giving the 
program DESKTOP capability. 


Most art and font programs for the TS2068 are screen oriented, 
That is where mapping becomes important. The printer window can 
be mapped to the same location that the artwork program uses. 

The artwork program now appears to be writing to the printer. 


Vhen the printer window is small enough to fit on the screen, 
it is possible to have "What you see is what you get.” 
More properly, “You can almost see what you are going to get." 


At best, you may still have distortions. VYSIVYG is a catchy 
phrase, but it is st{ll an idealistic view that can't be mt 
using any common monitor, unless dedicated for special use. 


It is not wrong to want to see what your printed output will be 
dike. That is a valid human engineering goal, though not always 
necessary. Good programs provide a “PREVIEW function, often 
backed up with "FAT BIT” managing editors. 


When a printer window is too large to be displayed across the 
screen, it can be divided into pieces which can. An example is 
displaying a 960x8 dot printer window on four consecutive screen 
lines with some space left unused at the end of the fourth line. 

This is nice for graphic mde word processing. 


There are 11 pokes tecessary to set up a window and map it to 
the screen. An application might use many windows, So some way 
to mike this easier is required. One way is to set up an array 
with the most frequently used windows predefined. 


The array J$(20,11) is used in VIDJUP programs. That for CAD#3 
is ghown below. References to a checkerboard apply to a DEXD 
for GRAPSONY, a utility for developing windows for applications 
Like DESKTOP. 


JSE.AS WINDQW DATA ARRAY 


Screen Corner TYPE Print Margin Shar LF/(R Line Graphic Total dots 

Coluan Scan CODE Passes dats = Wide lan’ Feeds E ish est r 
9 9 ‘ a © R 2 u § ® 1 Screan dung. .Sorsal(9 pial 
a 9 8 ua i R 2 u 5 rv) 2 Screen Quap. 700A? pi) 
a 18) g { a oh i it t 0 z Gh Vide. Lines ct-zi(beth) 
a 9 3 1 a 10 2 i t 1 3 360 Got pats HG0%9) 
a Fr g 1 o 1 ? i t tes ? 560 dat pass Fetbeth? 
q 4 2 t 9 rf 2 L 192 3 det pass Hiboth) 
9 e g 1 1 a 1 4 § wm a ‘kerdoard top lefts? pin? 
1 9 3 1 4 2 u 5 153 Q Checkerboard tap right 
q g 3 1 4g i 9 5 ae 4 erboard white left 
t a 3 { 9 2 ua 5 163 4 
9 i g i ty 1 4 5 xe 9 
1 ey 3 t ) g 2 ue 3 183 2 
Q 162 3 - 40 i i q $ 28 a 
1 18 i oo Ht 3g & § it 3 

# FS cra 9 es a cry i rs # 

R 2 era R ik R H 2 ZR 

& 3 ‘a 32 R ya i ‘re er 2 

iO an? 3 ra? 4 
2 2 2 ery R 2 Evy nv krd 2 


PRISTER WINDOW PARAMETERS 


Margin Dots.. These are blank dots which aeed not be mpped to 
the screen. They may be margin, column gap, etc. 

Chars Wide.. There are eight dots needed per character shown 
on the screen, but each screen dot may be copied to 
the printer a selected number of tines. 

Total Dots.. The total of margin and multiplied char dots. 

LF/CR, . Vindow taraination may require one or both codes 
to allow concatenation, or causa anew line. This 
parameter specifies the number of codes Issued. 

Line Feeds.. The number of minimum line feeds to be taken at 
the end of the window. This can be 0. 

Frt Fasses.. The number of times a cingle window is repanted 
to make a larger one. This 1s how dumps are done. 

Graph MODE.. The printer graphic mode to be used for this 
window. 24 pin printers do not have mode 5, but 
support 24 pin graphics. These added modes are not 
supported by this driver. 


SCREES PARAMETERS 


Sera Calumn.. Column 0 ta 31 as usual. (Start location) 

Scra Scan.. Scan 0 ta 195, from top down. (Start location) 

Chars Wide.. From 1 to 120 (less for GORILLA BANANA, more for 
wide carriage printers). Yrap-around is active. 

Characters printed multiple wide reduce this. 

TYPE CODE.. This byte contains width, height and video mode 
specifications. 

Double wide. 

Toggle for D_FILE2. . 

64 wide video' mode. 

Single high. (BIT 2 = 0) 

Double bigh. (BIT 3 = 0) 

BITS 7,1,0... Bot used. 


Designers of printers cater to wants and needa of users even 
when those are based on less than full knowledge of how things 
work. The ideal of WYSIWYG bas been one of these. Several of 
the graphics modes have been providad to achieve this for CRTs 
and displays of specific types, including 1S2068. 


The designars alsa provided for more enlightened users, though 
not always with compatibility with older methods in sind. 


Dot-for-dot square printing is Moda 5 for 9 pin printers, but 
Mode 0 for many 24 pin printers. 

Same displays emulate a printed page. 24 pin printers were the 
next advancement to obtain letter quality printing in aany font 
styles that people wanted. This expanded graphics performance 
as well. 

This new graphics capacity is only partly compatible with the 
older printers. As mentiontd, Mode 5 was lost (though a NEARLY 
equivalent mode is available). 9 pin mode is lost as well. 


This was acceptable because very few existing printer drivers 
“‘ealled for these, and SBARLY was close enough to satisfy most. 
The impact on existing software was minimal. It is in the area 
of mximum utilization of graphics that there is little comma 
ground. f 


Existing programs making mximum use of graphics are generally 
available only for other computers that use custom drivers. 


CADe2 bas a driver for OLIVETT! PR2300 ink jet printer. 
(1/216" line feed? 

CAD#3 has a driver for EPSOM 9 Pin printers and compatibles. 
1/216" line feed) 

CaAD#4 hag a driver for STAR 9 Pin printers and compatibles. 
“(LAi44" Ine feed) (Being updated) 

CAD#5 has a driver for EPSON 24 Pin printers and compatibles. 
(1/180" Ling feed) (Hot available yet? 


‘Thace programs differ because graphic files are unique to each 
printer, and that requires special routines for generation. 
Data files, however, are completely transportable between them. 


(€)1989, 1990 The WIDJUP Co. WIP 35 


text 87 and Quill 
Part I 


Peter Hale, P.0. Box 8763, Boston, MA 02114 


Unless you have been on the moon for the past two 
years you have at least heard of text*?, the new 
word processor for the Sinclair QL and Thor. 


Whatever objections there are to Quill - its 
snail-like movement around a file and its 
occassional lockups - its price is right and most 
of us have learned to live with its ‘features’, 


DEFINITION: A feature is a bug that has been 
around so long that everyone has learned to live 
with it and takes pride in knowing how to avoid 
it. 


This article, and the ones that follow, compare 
Quill and text®? while at the same time provide a 
tutorial for using text®?, 


WHY text!#?? 


First of all, text®? is a WYSIWYG (What You See 
Is What You Get) word processor with many of the 
functions found in good editor programs and a lot 
of other goodies besides, 


In truth, there may be more bells and whistles 
than the casual writer may want, but as a word 
processor it has features and is capable of work 
that is impossible on any other wordprocessor for 
any other computer. 


A Brief List of the Major Goodies: 
First and foremost, it doesn't ever lockup. 


The cursor is faster than in Quill and erasing or 
moving blocks is swift like a bunny rabbit. 


Virtually every printer font and enhancement can 
be shown on the screen in a different text color 
or screen font. Italic is italic, condensed is 
condensed, double-wide is double-wide, and it can 
be red, green or white. You choose. Justification 
and word wrap are automatic and take into account 
different pitches (characters per inch) of text. 


‘it stakes up 
Among 


The default font is proportional: an 
less horizontal screen space than an ‘n' 


other virtues, this lets you have 10% more 
characters to a line with no deterioration in 
readibility. 


With right justification all spacing is micro- 
kerned. No double spaces to pad things out. 
it's almost like a type-set book, and the printer 
behaves the same way. 


All files are in RAM. Unlike Quill, which wants 
to hog all available memory, it permits limits to 
be set on the memory to be used. Then, up to the 
memory available, text®? sets a limit. However, 
except in its minimal configuration, it needs 
memory expansion. 


Up to four columns of text can be printed on a 
single page in a single pass of the printhead. 
(It does not show that way on the screen - you 
see just one column at a time.) 


A Quill _doc file can be imported to text®? and 
carry with it all typefaces, tabs and margin 
settings, converting them to the appearance set 
in the program. 


If you so desire, text®? can convert the QL to a 
Dworak keyboard or set any key to type any 
character in the QL character set or any other 
character you choose to create. However, its up 
to you to mark the keys themselves. 


With auxiliary files (at extra cost) screen dumps 
are possible and a wide range of new fonts can be 
designed for special effects. There is even a 
laser printer driver specific to text#?. 


A Brief List of Major Differences: 

The first is also the first one under Goodies, 
The next difference is that text®? has no Help, 
as does Quill, through the Pl key. (Pressing Fl 
in text®? will activate the spelling checker.) 


A third difference is that the Redraw screen key 
is P4, not SHIFT F5 as in Quill. 


Two other differences have to do with the cursor: 
When the cursor control moves more than one 
character, as with Shift Right arrow, it seeks 
out the position to the left of the first space 


3.6 


encountered; Quill seeks out the position to the 
right. 


The other cursor difference is that it acquires 
its font enhancements from the character to its 
right; Quill picks up enhancements from the 
character to the left of the cursor, 


The final major difference is that there is no 
overwrite function in text®?, The reason is 
fairly simple. text®? can display varying sizes 
of font on the screen. If the current screen 
font is double-wide, what happens when trying to 
overwrite in a condensed font? 


Although disconcerting at first for a person 
accustomed to Quill, the new standard is not that 
had ta come to terms with. 


USING text*? 


I£ you are spoiled by the simplicity of using 
Quill straight out of the box, you may feel 
frustrated in getting up and going with text*?, 


Before starting text®? for the first time, it is 
necessary to select the correct printer driver 
from the dozens of files for a wide range of dot 
matrix and daisy wheel printers. The one that 
applies to your printer must be copied to a file 
called driver_P87, Henceforeward, whenever text®? 
is loaded, this file is automatically accessed 
and the standards of a particular printer modify 
the program. (Once running you may access other 
driver files by name to change printers.) 


Thus it is not necessary to read a printer_dat 
file each time a document is printed. Each 
printer driver includes all possible translate 
functions, 
that is present. somewhere in the printer's ROM 
can be used without having to run install_bas and 
be restricted to ten translate options, 


You must write your own boot. The manual has a 
sample boot, but you may want to expand on it, 
particularly to define ALTKEYs, 


After loading, which takes a bit longer than 
Quill, press CTRL C. text®? is EXECed, not 
EXEC_Wed. There are no file handling features as 
in Quill. This is partly to concentrate on 
important features of word processing, and partly 


Any character in the QL character set 


because so many users now have toolkits or 
Taskmaster or whateever that handle files far 
better than Quill does and it doesn't make sense 
to reinvent the wheel. (text? multi-tasks just 
fine under QRAM or Taskmaster.) 


Some function keys are similar to those used in 
Quill. F2 shows the cursor status and the current 
Ruler, It toggles as in Quill. F3 enters the 
command mode and a main menu is always presented 
at the foot of the screen. 


There are a few familiar commands: Goto, Print, 
Search, and Zap are ones you already know. 


There is Files, but its purpose is very 
different. No load, save, margin, tabs, justify, 
footer, header, design, etc., but the functions 
are all there together with many others. 


GOTO goes to the top or the bottom of the text, 
or to a page number, as well as first page, next 
page and top of current page, and also goes to a 
document line number - and boy does it get 
whereever it is going fast! (Using line numbers 
is tricky because you have to know where you are 
going in order to get there.) 


PRINT is more complex than in Quill, but it's 
also more versatile. it will print a selected 
range of pages but also a selected range of 
lines. When printing text, the current cursor 
position is the default line number for the first 
line to be printed. 


This command also defines headers and footers 
(which can be multi-lined), and the printout can 
be right justified even though the on-screen text 
is not, 


Among other neat features is the option to print 
alternate pages. Why? You might want to print 
on both sides of a sheet of paper, but have the 
text sequential, Or perhaps page numbering needs 
to be at the outer edge of a page, and would 
require a different footer and/or header for even 
numbered pages than for odd numbered pages. 


SEARCH has the features found both in Search 
and in Replace in Quill and it's a lot faster. 
Unlike Quill, which starts at the beginning of a 
file, text®! searches from the current cursor 
position, There's an option for Global replace- 


37 


ment, but because of its inherent dangers, it's 
is only offered after the first replacement. 
Search is case specific, meaning it ignores 
‘HELLO’ if you ask it to search for ‘Hello’. 
text*? remembers the prior search and/or replace 
string so that you may recall it and edit it to 
search for a modified string. 


ZAP has both the document Zapping function in 
Quill, and the Quit, and goes through the same 
verification as does Quill. 


FILES is different from Files in Quill. It 
handles load, save, merge, import or export. 
File names are not restricted to 8 characters as 
they are in Quill. They may be of any length and 
can include other characters not permitted in 
Quill including the underbar. 


Saving and loading assume a _T87 extension and 
file names are always in capitals on the disk 
directory. Save is not as polite as in Quill. It 
does not ask permission to overwrite a file of 
the same name. It just does it. 


Merging inserts a _T87 document at the cursor, as 
in Quill, but also adds any Rulers not already in 
the document to the table of Rulers. 


There's the choice to Export in ASCII (like 
Printing a _lis file from Quill] -but making 
necessary conversions for Tabs) or text®? format 
with the extension _L87 (its primary purpose is 
to move text between documents.) 


If a block of text has been highlit, only the 
block will be exported; otherwise, the whole 
document will be exported. 


CURSOR CONTROL in text*? has capabilities 
much as in Quill, but does a lot more. It adds 
the ALT key for greater versatility. SHIFT and 
an Up or Down cursor key move 10 lines, not just 
a paragraph. Add ALT key and it moves 40 lines. 


SHIFT with a Left or Right cursor key sends the 
cursor to the start of the next space, not after 
it, as in Quill, but you catch on fast. 


ALT plus a Left or Right cursor key takes the 
cursor to the start or end of the current line. 


Deleting is like Quill, except that the ALT key 
is used with the Left and Right cursor key to 
remove whole lines. 


As with Quill, there is a separate command to 
delete blocks of text. 


RULERs are not found in Quill. text®? includes 
Margin, Tab, Justify and some Design features in 
one command called Ruler, but there is a learning 
curve to get the hang of using rulers, 


The Ruler command in the main menu is used to 
edit and select rulers. On power up there is one 
default ruler (Ruler 0). Multiple rulers can be 
created and a selected ruler can be inserted at 
any point in a document. Any ruler can be copied 
then edited into a new ruler up to 11.5" wide. 


The special feature of the Ruler Command is that 
its parameters are all in absolute units of 
length (tenths of an inch or millimetres) rather 
than columns, as in Quill. This means that text 
can be formatted according to the printer pitch 
chosen for printing a specific character or 
characters. 


(As an aside, the rapid movement of the cursor in 
text®? makes block definition seem about ten 
million times faster than in Quill, so it gets to 
be very handy.) 


Import offers text®? or ASCII or Quill format. 
The first two options insert the imported file at 
the cursor position. The Quill import loads a 
Quill _doc file as new text, and preserves all 
Quill highlights, converting them to the visual 
form used by text®?, Tabs and end of paragraph 
markers are retained, if desired. Al import 
functions are very quick indeed. 


On screen, several pitches can be mixed without 
effecting the layout. Thus, if the selected 
printer font is double-wide, text*? knows to 
display only half as many characters per line as 
with 10 pitch pica and 10% more characters will 


show on a line with proportional spacing. This 
is what is meant by WYSIWYG. 
The ruler tells the truth,  Occassionally, a 


combination of screen fonts may force a line 
outside the limits of the right margin. Do not 
dismay. text®? knows what it is doing and what 
gets sent to the printer is what you want sent. 


3.8 


Rulers are saved with a document and it's wise to 
have a special file with a number of favorite 
rulers to load when starting a new document, 


Each ruler carries a range of information: 


Justification: right or left. (Actually, the 
choice is to justify or ignore, on the grounds 
that justify means right justification.) There's 
no Center Justification; use Center Tab instead. 


Line spacing: the space between lines can be 
adjusted to fractions of an inch. The default is 
1/6 of an inch (12/72 or 30/180, depending on the 
printer) but can be modified to your heart's 
content, Thus it is possible to have double 
spaced text mixed with single spaced text, 
depending on the selected ruler. 


Margins: left, right and indent. Indent defaults 
to left margin, but may be designated as to the 
right where the first left tab is located if it 
is automated from a special indent feature in the 
Mode command. The Indent mark itself is 
exclusively for setting Indent to the left of the 
left margin to create a hanging paragraph. 


Selection: only one ruler at a time is active 
under the cursor. A ruler is selected as an 
option from the Ruler command. (Thé current 
ruler is shown when the F2 key is toggled on.) 
The selected ruler is inserted at the cursor when 
SHIFT F5 is pressed. 


Tab stops: left, right, center and decimal. 
Enough already! 


The next article in this series will explore 


block handling and the numerous features in 


text®? that make screen presentation truely 


revolutionary, 


This article has been prepared on text®? mostly 
in 15 pitch type. Note the use of micro-kerning. 


You may order text*?, version 3.01, from Software 
87, 33 Savernake Rd., London, NW3 2JU United 
Kingdom for £60. It includes Qtyp as an 
integrated spelling checker with fnglish, French 
and German dictionaries. It is also available in 
the USA for $94.95 from EMSoft, P.O. Box 8763, 
Boston, HA 02114-8763 (617) 889-0830. 


39 


EMSoft 
Software for the QL that works hard 


Now has in-stock the very best true 


WYSIWYG QL word-processor: text87 
v3.00 with spell check and several 
new features. (includes 1 hr USA 
help line). $94.95 
Tax-time means TAX~-1-QL/89 $24.95 
RECIPE _dbf $14.95 
INVENTORY dbf $9.95 
TRUST_FUND dbf $24.95 
QLAND_LORD dbf $24.95 
MAILBAG _dbf $24.95 
DBTutor dbf $24.95 
DBProgs dbf $19.95 
CDIR/BOOTS SBas $9.95 
On 5.25" DD or QD disks. On 3.5" or 


microcartridge add $2.00. 
FREE CATALOGUE 


EMSoft 
P.O. Box 8763 
Boston MA 02114 
(617)889-0830 


Two tough things to find’ for your 
Timex or Sinclair 2X/T3 computer-- 


SOLID INFORMATION & GOOD CONNECTORS 
YOU KNOW WHERE TO GET THE BEST INFO 
FOR YOUR 2X/TS--SYNTAX, SQ, & THE 
FOYT BOOK CHECK IT OUT-~ASK ANYONE-- 
THEN GET 'EM ALL FOR 

JUST $19.95 plus $10 san 
BUS CONNECTOR & EXTENDER & HOUSING 


LIKE A PRINTER CONNECTOR 


Keyed Connector, Extender PC Board 
PLUS Molded Black Plastic Housing 
Fits: 2x80 & 81 

TS1000 & 1500 

PC8300 

ZX/TS SUBSET 

OF SPECTRUM 

| & 2068 


Pkg of 3, ONLY $13.95 plus $2 S&H 
SAVE Buy 2, get a FREE one 
9 for $26.95 + $6 S&H SAVE 


EMS, Box 8763, Boston, MA 
617-889-0830 


02114-8763 
VISA & MC Add 4% 


Ey 


15-2068 Programing In the Abstract 


THE STACK: The manipulation of the STACK 
comes under the heading of “where only fools dare 
tread". But aren't we brave? Look at it this 
way, "you cannot hurt anything by trying, so why 
not?”. AND, we might be enlightened. Key in the 
following little program and SAVE it. Then we'll 
traipsie through the stack a bit. 


10 FOR N=25088 TO 24833 STEP -1 
"; PEEK n;: NEXT 1 
60 PRINT “RETURN Line="; PEEK 25083+256*PEEK 25084 
‘Statement $="; PEEK 25085 
70 STOP: GO SUB 90 
90 STOP 


OK.  Pirst off, we will look at what we can 
and cannot do with the Stack in BASIC, Timex 
intended the stack to be “hidden from the user”, 
But a small tydbyte of information is given in the 
user manual, page 255. Take a minute to look at 
the sketch in figure C-1. The little program 
given above PEEKS this area. The Stack is the 
7S-2068's exclusive "library" of “pending things 
to do". If <GO SUB> is used in a program line, 
the LINE NUMBER is factored into a 16 bit word and 
that word is stored on the stack at address 25083 
and 25084, ‘Then the “next statement number“ in 
the line after the GO SUB is stored in address 
25085. 


+ In our little program, the GO SUB is in line 
#70, statement 2. So, if allowed to execute, the 
nunber 70 would be stored in address 25083. Zero 
would be stored in 25084, and 3 would be put in 
adr 25085. Check this out by RUNNING the program. 
As the program runs the contents of the Stack 
addresses will be printed to screen. Somevhere at 
around address 25000, a train of seroes will 
print. These Zeroes tell us the "FREE MEMORY” 
spaces of the stack. As more and more “library“ 
items are placed on the stack there will be few 
erces in the train, These “TS-2068 Library 
items” are put on the stack to be used, and once 
used they are erased. All of this is done by the 
internal management utilities in the TS-2068 ROM. 
BUT, we can have a little influence on things. 


When the program runs the first time, a 
report will be given. This "RETURN LINE # and 
Statement Nbr." will be inaccurate. This is 
because there is no RETURN placed on the stack at 
address 25083, 25084, and 25085, So, ignore the 
report on the first run. The program will STOP at 
line #70, When it does, type CONT ENTER. Then 


JUNKY STACK: 


at line 90. This time 
How lets look at what 


‘another STOP will occur 
DONT do anything for nov. 
we did, 


We have introduced a “piece of JUNK” on the 
stack, because we did not use <RETURN> after the 
<GO SUB>. But in this case we do it intentionally 
in order to see the RETURN in the Stack. After 
the STOP at line #90, type GO TO 10 ENTER, Write 
down the numbers given for address 25083, 25084, 
and 25085, during the first screen full of 
numbers. Then let the numbers scroll to the end. 
At the end report the line #70 will be reported, 
with statement number 3. So, we have captured the 
<GO SUB that is on the stack>. AND the STOP again 
occurs at line #70, 


Now lets work a bit with 16 bit numbers. 
First add LINE # 2000 to the program. add: 2000 
stop. What is the 16 bit number for 2000? ans: 
2000/256=7.8125. Drop the decimal and 7 is the 
msb (most significant byte). The Isb (less 
significant byte) is gotten by: 2000-74256=208, 
So, the 16 bit number of 2000 is "208,7". Now we 
will CHANGE the line number for the RETURN that is 
on the stack.  POKE 25083,208:POKE 25084,7:PORE 
25085,0, After these POKES, Type <RETURN ENTER>, 
Note the STOP at line #2000. Now we have learned 
how to change a <RETURN> on the stack to a 
different line number in a basic program, but WAY 
would we ever want to do that?: 


Well I'll give you a small example and you 
will think of others. Suppose that after a menu 
we want to present on screen the data contained in 
AS, But if AS has no data, we want the program to 
RETURN to a different program line than contains 
the GO SUB. I'll construct the routine: 


500 (MENU item 4 selected) 

510 IF 2=4 THEN GO SUB 900 

900 IF LEN AS<1 THEN POKE 25083,208: PORE 25084,7: 
RETURN 

910. PRINT AS: RETURN 

2000 REH Routine to use if A$ has no data, 


ROLES: You must have a GO SUB on the stack 
before POKING the addresses 25083, 25084, 25085. 
Otherwise you CRASH. So, the POKE must be done 
AFTER the GO SUB. Dont poke other Stack 
Addresses, or you'll get a crash. Oh well, what 
the heck, and why not? 


Tf you want to find out how fast the stack can be completely corrupted, Remove the 


Stop at line 70 and change line $90 to read: 90 GO T0 10, Then RUN. One of the pit-falls of using <cO 


SUB> is that BASIC programs can he broken into. 


addresses in the Stack are corrupted. 


Rach time a GO SUB routine is broken into three 
40 


USING BASIC STRING / ARRAYS IN MACHINE CODE PROGRAMS 


by Charles Bothner 


I looked over your letter concerning the use of BASIC variables 
and arrays inside machine code programs. 

You said that you needed to locate a specific variable in the 
BASIC VARS area of memory in order to use the data in a machine 
code program. The following procedure will allow the transfer of 
the location and size of a simple variable to a BASIC program. If 
you want to locate a variable which has not been fixed in size by 
a DIM statement, insert the following lines at appropriate line 
numbers in your program: 


Dear Bill, 


1000 POKE 23728, CODE"W" 

1010 LET X=USR 23296: REM This is the start of printer buffer 
1020 LET SIZE=PEEK (X+1)+256*PEEK (X+2) 

1030 LET START=X+3 


Line 1000 puts the letter code for the variable into a convenient 


storage location, in this case into an unused slot in the normal 
system variables table. Line 1010 accesses the machine code to 
locate the variable address in memory. In this case I have put 


the 28 byte routine into the printer buffer, but any convenient 
location could be used since the code is completely relocatable. 
On return from the MC routine, the variable X contains the 
address of the identifier for the W$ variable. Line 1020 reads 
out the current length of the Wt variable and line 1030 gets the 
starting address of the actual characters in the variable. If 
desired, these values may be POKEd into a convenient memory loca- 
tion for subsequent access by whatever MC routine you intend to 
use to manipulate the data. Here is the machine code which 1lo- 
eates the starting address of the W$ (or any other) simple 
variable: 


ADDRESS QPCODE INSTRUCTION COMMENTS 
5B00 3ABO5C LD A, (5CBO) Get character code 
5BO3 CBAF RES 5,A Insure upper case char 
5BO5 2A4B5C LD HL,(5C4B) Get VARS area address 
5BO8 LOOP: BE CP A, (HL) Test variable identity 
5B09 280E JR Z, FOUND Jump if right variable 
5BOB FE80 CP A, 80 Is this end of VARS ? 
5BOD 2002 JR NZ, CONT Continue if not end 
5BOF CF RST 08 Error return otherwise 
5B10 o1 VARIABLE NOT FOUND message ident. 
SB1l CONT: 23 INC HL Point to size of field 
5B12 5E LD E, (HL) Get size of variable 
5B13 23 INC HL field size into DE 
5Bid 56 LD D, (HL) ; 
5Bi5 23 INC HL Point to next location 
5B16 19 ADD HL, DE Point to next variable 
5B17 \SEF JR, LOOP Test this variable 

ES PUSH HL Get the address into BC 

Ci POP BC 

co RET Done 


This routine scans the entire VARS area of memory until the 
starting address of the specific variable storage area is located 
or until the end of the VARS area is reached, at which time there 
will be an error type return. This will happen if the variable W% 
(or any other simple string variable which is being searched for) 
has not been previously assigned. If the variable has been 
located, then the address is returned in the BC register pair. 
Line 1010 in the BASIC code above will assign this value to the 
variable X on the return from the machine code. Ati 


If a search for a fixed dimension string array is desired, it 
will be necessary to insert the following assembly code bytes be- 
tween the addresses 5B04 and 5B05 in the routine listed above: 


C680 ADD A, 80H Converts to proper type 
of dimensioned array 
identifier 


It will be necessary to modify the lines of BASIC code to deter- 
mine the actual size of the stored character field in the array 
due to the extra data bytes stored in the data field for this 
type of variable (see page 258 of the TIMEX 2068 users manual for 
the details). Since the array has been previously dimensioned in 
the program [e.g. DIM W$(40,256)], we can determine the correct 
offset by taking the number of array dimensions (2 in this case) 
and doubling it, then adding 1 for the number of dimensions byte 
in the variable’s data field and subtracting the result from the 
data obtained in line 1020 above. 


For the example of W$(40,256) the changes to the BASIC lines is 
as follows: 


1020 LET SIZE= PEEK(X+1)+256* PEEK(X+2)-(1+2* PEEK(X+3) ) 
1030 LET START=X+3+(1+2* PEEK(X+3)) 


Obviously the terms can be combined to shorten the lines but I 
left all the terms separate to clarify (I hope) the procedure to 
locate the actual starting address for the character data stored 
in the array along with the actual length. The size of the actual 
character data field could be determined in this case by simply 
multiplying the terms in the DIM statement. It is better to 
determine the size on the fly for the cases where the array 
dimensions may be determined by another variable instead of a 
fixed value [e.g. DIM(256,2)]. 


I hope that this brief explanation will give you an idea of how 
to operate on data stored in the VARS area by either BASIC or 
machine code routines. To summarize, the transfer of data from 
the BASIC program to'the machine code requires the POKEing of the 
data into memory locations where it can be accessed by the 
machine code. Transferring of a single character or numeric 
(integer) value from the machine code to the BASIC program may be 
accomplished by loading the data into the BC register pair prior 
to the return from the machine code. 


If this information is not what you really wanted or if addi- 
tional clarification is needed, please let me know. 


best regards, 


Aweh_ BB, 


Chuck Bothner 


42 


Al Feng is treasurer of the Chicago TSUG (CATSUG) 
and an expert programmer of the Sinckair QL. AL 
takes time out from his umiting for "Nightine 
News”, the CATSUG Newsletter, to give us 
ingormation on three interesting subjects. 


005 ROM Code 


By Al Feng 


Most Sinclair QL users in North America are 
already aware that the Operating System (0S) in 
their computer is called QD0S (i.e., QL Disk 
Operating System). This may seem as a bit of a 
misnomer since the QL comes with microdrives for 
storage; and, all disk drive interfaces are third 
party! In fact, QD0S allows (i.e., "forces") you 
to select the device being addressed by the user 
(e.g., ‘mdvi_', ‘flpl_', ‘raml_', 'winl_'). 
Clearly, either Sinclair Research Ltd. or Tony 
Yebby realized that Uncle Clive's microdrives may 
NOT be the ultimate storage device. 


For those who are not overly familiar with the 
inner workings of their QLs, the difference 
between "British and "North American" QLs 
involves more than BT (British Telephone) 
connectors vs. "D" connectors. In addition to 
evolution in the PCB (Printed Circuit Board) 
layout (i.e., the hardware), various versions of 
the QDOS were released (i.e., the firmware). 


Not knowing which QD0S version you are running is 
generally not a handicap or inconvience. For 
practical purposes, a QL with an ‘AH’ ROM will 
run the QUILL word processor as well as one with 
an 'MG' ROM. The transparent difference is 
predominantly in the ERROR handling (i.e., the 
user usually doesn't see it). 


To find out what version QDOS your QL is running 
(all Qls made by SAMSUNG ELECTRONICS COMPANY Ltd. 
in Korea have 'JSU' ROMs) type: 

PRINT VERS <ENTER> 
There are only a couple of reasons to know what 
QDOS ROM code your QL has. The primary one is to 
satisfy your curiousity. The second is if you 
are running some programs (e.g., compilers which 
depend on EXTENSIONS to QD0S). Often times, a 
"patch" is included to compensate for 
incompatibilities in the earlier code, so the 
versions still doesn’t matter! 


Okay, what do those designations mean? Does the 
‘BH' designation mean that they think they 
finally got it to a satisfactory point ["AHhhh"]? 
Does the 'MG' designation refer to the Morris 
Garage vehicles? Who can say for sure except the 
person/people who chose the designations! After 
all, the "GW" in 'GH-BASIC’ stands for "GEE WHIZ" 
(No kidding! ). 


A half dozen years ago, I asked my brother (an 
IBM PC user) why PC-DOS (the IBM "specific" 
version of MS-DOS) had to be LOADed via software 
rather than being a permanent part of the system 
(that is, as firmware on a ROM or EPROM). In 
fact, I asked a lot of "almost stupid" questions 
back then. To make a long story short, he 


replied that the Disk Operating System (DOS) was 
loaded as software so they (Microsoft, in this 
case) could implement any subsequent changes to 
the code more easily. 


At the time, the idea of changing the code didn't 
makes sense. After all, why re-write code if it 
was written correctly the first time! Okay, my 
computer experience was limited at the time, and 
I was a bit naive about programming; but, I know 
someone who thinks that the ABACUS Spread Sheet 
programmers should have been able to write the 
program in about 10K (yes, ‘ten’)! 


Among the "almost stupid" questions I asked was 
with regard to the differences (if any) between 
DOS 2.0 and DOS 2.1. But, I digress. Very 
simply, a change in the integer represents a 
"major" change to the code, while “minor” changes 
are represented by variances in the decimal or 
hundredths place. In theory, higher numbers 
indicate improved code (as with ERROR trapping). 
Latter versions generally have "improved" code 
(i.e., more ERROR trapping). 


I£ you will make the allowance for a corparison 
between the exceedingly crude DOS 1.0 for the 
INTEL 8088/8086 chip series [e.g., CLS (CLear 
Screen) was not included] and the very earliest 
QLs which had a “dongle” (as the Brits apparently 
refer to it) on the backside of the QL then from 
my reckoning and recollection there are rough 
analogues which one can make between MS-DOS 
(Microsoft DOS) and QDos. 


Sinclair Research Ltd. (or, Tony Tebby) chose to 
use an alphabetic system for labelling. Just as 
there were various MS-DOS versions, so there are 


various QDOS versions. For example, we may 
compare: 
--( Qpos }-- --[ MS-Dos / Pc-Dos ]-- 

AH 2.1 

Js 3.30 

MGUK 4,00 


(DOS is resident in the QL when the computer is 
powered on because the code is contained on two 
socketed ROM chips. Several years ago, Tom Bent 
designed a small PCB which utilized a 27512 
EPROM which could substitute for the two ROM 
chips (see QUANTUM LEVELS 1:6 for schematic). A 
big plus to Tom Bent's design is that it lets 
your QL run cooler. 


The 'J' series is probably the most predominant. 
The 'JM' & 'JS' are the two most prevalent 
versions still being sold in the UK. The 'JsU’ 
ROM is the same as the ‘'JS' ROM with the 
exception of the size of the video scan when in 
TV mode. The 'JSU' ROM accomdates the lower 
resolution of NISC televisions than the British 
PAL televisions generate (512x212 vs. 512x256). 


Since the TV-mode on all the “British” ROMs 
generate a screen having the same dimension as 
the monitor display, the apparent difference is 


that initializing with ‘F2' should allow 
generation of eight colors rather than four 
(unfortunately, I forgot to verify this when = 


43 


had temporary access to an RGB monitor]. 


Programs can "sense" which mode the computer is 
in by PEEKing address 163890. In monitor-mode, 
the value returned will be '0'. On all “British” 
ROMs in TV-mode the value returned should be ‘1'. 
On the 'JSU' ROM and the “rogue” 'MGSJ' ROM, 
PEEKing this address when in TV-mode should 
return a value;of '2'. 


Just as therd are improvements to Microsoft's DOS 
version 4.nn, so too are there improvements to 
the ‘M' sevies ROM. Unfortunately, the price of 
improvement may be incompatibility with code 
which is LBYTEd/LRESPRed. The conflict / 
conpatibility varies with the code. For example, 
early (all?) versions of 4MATTER will not rum on 
a QL having an ‘NGUK’ RCM. Code which is 
“automatically” initialized ona ‘J’ series ROM 
(such as SPEEDSCREEN RAM code) must be further 
beckoned with the 'M' series ROM code. 


It has been reported that Digital Precision's IBM 
emulator would not rum on a QL having 'MG" code. 
Details are not complete; and, I suspect he my 
have the 'MGSJ' code as I have personally seen 
THE SOLUTION running on an ‘MGUK' ROM. (Ed note: 


My MGUK ROM QL {installed by Tom Rent) auns both 
Solutions and PC Conqueror) In theory, the 
'MGS3' code incorporates the NTSC television 


screen scan with.the rest of the °MS' code. This 
may or may not be a consideration. 


Those of you familiar with MS-DOS will find a 
canparison between the 'MGUK’ ROM and DOS 4.00 
appropriate. It seems that enough nuisances were 
unintentionally written into the ‘MG’ code that 
it probably makes the more familiar ‘J' series 
the code of choice (my opinion). 


Just as "other" DOS exists for IM compatible 
computers (e.g., WENDLIN-DOS), there are “proven” 
alternatives to QD0S. The first of these is 
‘ARGOS’ code which is used by CST (defunct 
Systems Technology) on their THOR 
but 
The 


reports 
second is 'MINERVA’ by QVIEH. 


"ARGOS' is apparently QD0S which has been tweaked 
to support the THOR's hardware. It may NOT be 
hardware compatible with the QL. 

Unlike ‘ARGOS’, -'MINERVA' code was apparently 
reverse-engineered to accomplish the same 
functions as the Q00S code. The resulting code 
is supposed to be superior in speed, particularly 
in the screen handling routines. As of 
mid-March, 'MINERVA' is only available directly 
from QVIEW (in England). 


If you're thinking of replacing your Q00S ROM 
code, I recammend that you consider waiting for 
'MINERVA' code to become available. If you can't 
wait, then opt for the 'JS' code; after all, 
‘gsu' code is available on your "spare" QL when 
don't have a monitor. 


HAPPY TRAILS, AND COMPUTING, TO YOU! Al Feng. 


Ed Notes: Al touched upon the miin difference in 
design of Q00S and MS-DOS, which a: QOS is 


44 


Fd Groy Entonprises, PO Rox 2168, 

Englewood, CA 90305 was to send in an 
advertisement of his wares. I'm sure 
that Ed will kick himself in the britches 
when he realizes that he missed the boat. 
Instead of using one of his old ads, I'll 
just make same coments. Ed Grey carries 
a whole line of TS-2068 support items and 
runs a West Coast USA BBS called "The 
Grey Matter”. His Telephone number for 
ordering software and hardware support 
items is 213-759-7406, The BBS telephone 
is: (213-971-6260). This BBS is one of 
the most informative and the most used by 
Sinclair Timex users. If you want to 
talk to an enthusiastic Sinclair Timex 
person, call Ed. If you want to find out 


what goes on in Sinclair Timex Computing, 
call the BBS (with your computer). 


The problem with this issue was the 
DECISIONS about what to include! The 
articles were selected from about two 
issues worth of excellent material given 

fellow Sinclair Timex 
should go to the 
authors, not to yours truly. 

There several other excellent articles 
about the QL and S-2068 that are 
awaiting space in the magazine. They 
aren't “culls”, but are of a length that 
just couldn't be included in this issue. 

FRANK DAVIS, your new publisher will 
need this same outstanding support fron 
the writers in order to continue the 
depth of coverage that has been a 
tradition with Update Magazine. I feel 
sure that all of our outstanding writers 
will continue to support the users 
through the pages of Update. 


RE-SUBSCRIRE NOW! you have NE more 
issue of your subscription caming (July). 
Frank Davis, the new publisher, needs to 
build his 1991 subscriber list and needs 
to have as many early subscribers as 
possible for his planning. Please send 
your $18.00 subscription renemrl to: 


FRANK DAVIS, PO BOK 1095, PERU, IN 46970, 


A PRIMER «FOR USING «=A OL-MOTILATR 


by Al Feng 


her 
okay. Just kidding, We'll discuss MS-DOS 

with the QL instead. But, after hearing "all" 
those bad things about MS-DOS (Microsoft's Disk 
Operating System for IBM compatible computers) 
one can only presume that rumning a SINCLAIR QL 
in emulation mode has to be a mutilation of the 
QD0S operating system. One would like to think 
that it wouldn't happen; but, the price of 
software emilation code is still less than an 
MS-DOS compatible computer. 


The following isn't going to be a discourse about 
whether you should be using an emulator on your 
QL. Only you know whether there is a need "at 
home" for MS-DOS compatibility; and, if an 
emulator is going to be a satisfactory route. 


The following is going to tell you how to 
overcome some of the conceptual inconveniences of 
MS-DOS whether on a QL, or on an MS-DOS specific 
computer. 


The first thing you have to know is that drives 


are described alphabetically rather than 
numerical] Thus, a drive may be labelled 'A' 
through 'Z'. The Operating System (OS) knows you 


are describing a drive because a colon (:) is 
used as a delimiter immediately after the letter. 
The reason for this is because a file may be 
named 'A.BAT’, 'A.COM' or 'A.EXE' and be 
otherwise executed if you simply INPUT 
followed by the '<ENTER>’ key. QD0S uses an 
underscore ("_') as the general delimiter. Thus: 


A 


flpl_ 


flp2_ 

The najor r difference is that QDOS allows/forces 
you to describe the physical/virtual device being 
addressed. On the other hand, MS-DOS assigns 
labels on a “logical” basis unless otherwise 
specified (some rules do apply). 

On an MS-DOS system, if you have two floppy 
drives, they are 'A:' and 'B:'. If you have a 
hard drive, it is 'c:'. I£ you have one floppy 
drive and a hard drive, the latter is still 'c:' 
(I told you, some rules apply). If you have two 
floppies, no hard drive, and have set up a ram 
drive, then the ram drive becomes 'C:'. If you 
have two floppies, a hard drive, and a ram drive, 
then the ram drive becomes 'D:'. 


Ram drives are static and are configured during 
BOOT-up via the CONFIG.SYS. 


Even if you have a limited amount of overall ram 
in your system, but more than 384K, then you 
should seriously consider setting up a small ram 
disk on your mutiliated QL, laptop, or early PC. 
A 48K drive is sufficient for DOS 3.nn and 72K 
for DOS 4.nn. 


An example of a CONFIG.SYS for DOS 3.nn where the 
size of the ramdrive is indicated by the number 
following the "device=" statement (in this case 
"48K'): 


buf: fers= 15 


device ansi .syS 


Unfortunately, the boys-and-girls at Microsoft 
are sloppy coders (Captain Midnight would not be 
happy), and the same files in DOS 4.nn tend to be 
larger than in DOS 3.nn. For DOS 4.nn_ your 
CONFIG.SYS file will be similar to the following 
(note the name change from VDISK to RAMDRIVE): 


buffers=15 
files=30 
device=ramdrive.sys 72 


Okay, 48K is an awfully small ram disk. What are 
we going to put in it (and, why?)? There are two 
files which should be transferred to a ramdrive 
regardless of the size and speed of the system 
being used (this includes AT classs machines). 
The first is COMMAND.COM and the other is 
FORMAT ..COM. 


As these files were designed, they are what are 


referred to as external DOS commands. An 
external command is not retained in the systems 
memory. This is because DOS was originally 


designed to rum on a machine with as little as 
16K of memory. 


Thgabi lity. te, inktiake g PL2e SAR wore 
considered task oriented. After a program is 
LOADed, DOS dumps the COMMAND.COM from memory, 
and brings it back when the program is quit. 
This is why you may see a message which instructs 
you to "replace disk with COMMAND.COM in drive 
A:", This can be circumvented by using the 
statement: 


set comspec=c: command. com 


where 'c:' is the location where the COMMAND.COM 
can be found (in this case a ramirive ... adjust 
accordingly). This can be indicated in a line in 
the AUTOEXEC. BAT. 


While COMMAND.COM is always necessary, FORMAT.COM 
is not. It is, however infrequent a task, 
especially inconvenient (i.e., "slow") to have 
FORMAT.COM load from a disk rather being 
resident. By transferring an appropriate 
FORMAT.COM to a ramdrive, you have turned it into 
an almost-internal command 

(using FPORMAT.COM will be discussed later). 
example of a true internal DOS command is COPY. 


An 
An example of your AUTOEXEC.BAT should be similar 


to one of the two following examples: 


copy format.com c: 
copy command.com c: 


copy free.com c: 
c: 


copy format.can ¢: 

copy command.com c: 

set comspec=c:camand.com 
copy dr.can c: 

c 


T£ you need MODE.COM, then include it as a line 
of your AUTOEXEC file. 


FREE.COM is from the first PC MAGAZINE Utility 
disk, DR.COM was a freebie from PC/COMPUTING 
magazine. 


FREE.COM tell you how mich "free" space is left 
on adisk. This sounds, well, stupid. But, if 
you have blank, FORMATted disks without files, 
you cannot determine the size with the DIR 
command. In these instances, FREE.COM will let 
you determine if it is a 360K or 720K disk: 
C:> FREE B: 

DR.COM (actually DIRMAGIC.COM) is a conveni 
front end program which was distributed "free" TE 
you subscribed to PC/COMPUTING. It allows you to 
COPY/DELETE/RENAME/VIEW/etc. from a dynamic menu. 


FREE.COM and DR.COM are freeware (vs. shareware) 
programs which are supposed to be availble on 
various bulletin boards. You can probably get a 
copy of these two files from Bill if you send him 
a few of dollars (?) to cover 
media/packaging/postage and tell him which disk 
format (720K or 360K) you need. 


The reason the example of the AUTOEXEC.BAT above 

ends with a 'C:' statement is that a lot of 

activity can be initiated from the 'c:' drive: 
C:> COPY A:*.* B: 


is the same as: WOOPY flpl_ to £lp2_ 


Compare: C:> COPY A:DR.COM B: 
A:> COPY DR.COM B: 
B:> COPY A:DR.COM 

to: COPY £1pl_DR_COM TO £1p2_DR_COM 


Also compare: 
C:> COPY A:DR.COM B:DIRMAGIC.COM 


to: COPY £lpl_DR_COM TO f£1p2_DIRMAGIC_COM 


The syntax of a DOS statement is clearly mre 
compact since the current "path" can be implicit 
in the statement. Working fram a "C:>" prompt is 
similar enough to working with a comand cursor 
in "WINDOWTO" that you can consider performing 
general file management fran this drive. 


Similarly, if you want to delete a file you would 
use the DEL statement: 


46 


C:> DEL A:DR.COM 


A:> DEL DR.COM 
DEL A:DR.COM 


DELETE £1p1_DR_COM 


B:> 
to: 
are going to LOAD an application 


then INPUT the drive designation 
‘<ENTER>'; and, then the file name. 


If you 
(program), 
followed by 
For example: 

c> 


A: <ENTER> 


A:> QUILL 


The syntax for FORMAT.COM with an emulator 
similar to the FREE.COM utility: 


is 


C:> FORMAT B: 
and, B:> C:FORMAT 
OR: C:> FORMAT A: 
and, Ar> C:FORMAT 


With the emulating QL the density is determined 
by the emulating code. There are conditions 
which may be needed if ‘you wish to FORMAT to a 


density other than the drive's normal 
specification. 
UH-oh. Was mention made of how to construct your 


AUTOEXEC.BAT and CONFIG.SYS files? Yikes. The 
MS- [Nasochistic & Sadistic] method is for you to 
use EDLIN! If you can get a copy of DR.DOS's 
(Digital Research's DOS) EDITOR.EXE then you will 
have an easy-to-use line editor. If not then use 
ANY word processor: 


Set the left margin to zero ('0'); 
the upper and lower margins to zero; and, 
ensure that there is no header or footer. 


Next, transcribe the appropriate example(s) as 
individual lines of text. SAVE each individually 
as an appropriately named ASCII file. Transfer 
the file to your DOS disk. 


That's about all you really need know to be 
functional on the precarious, MS-DOS iceberg. 


HAPPY TRAILS, AND COMPUTING, TO YOU. Al Feng 
———— 


THE QUANTA LIBRARIAN FOR NORTH AMERICA? 


Will the active QUANTA LIBRARIAN please get 
in touch with Update Magazine. Why? Well, 
I'd like to help publicise this fantastic 
group of programs and utilities. 1 have had 
the first 15 Quanta Library Disks for about a 
year. There hasn't been mich published about 
the utility of this good library or how the 
users can get the disks. Perhaps there are 
enough interested subscribers to form a Quanta 
Group in North America? Update will help. 


‘THE NEWS HERALD, Panama City, Fla. 


;-THE CANADIAN REPORT 


Kanadian fonetik langwaje 


TORONTO, Canada (KNT) — Like a solitary savior striving to 
rescue the illiterate from the flummadiddie and kerfuffle of the 
English language, Ted Culp envisions “that gloreus day all ling- 
gwi owtrajes wil end!”” 

At that inevitable moment when English collapses under the 
weight ofits confusing, itrational structure, Culp says he'll beready 
with the Canadian “langwaje,”’ a sane replacement for the “gar- 
bage”’ that annoys people and produces illiteracy. 

“"As this inferior langwaje iz displased everywhare ... illiterasi 
shud disapeer completely,” wrote Culp, the meticulous publisher of 
the Times Ov Toronto, and a teacher and ardent proponent of simpli- 
fying a language that drives him nuts. 

Ina multiethnic country where combat over language could 
qualify as a national pastime, many view a phonetic-type spelling of 
English as laughable or an uncomfortable reminder that some real- 
ly spell like this. 

‘Others view Culp’s changes as an assault on the Queen's English. 
After ail, many loyal Canadians still sing God Save the Queen, 

But this is no joke to Culp. He is dead serious — rather, ‘ded 
serius” — and he speaks passionately about the foibles of language. 

He has reduced the alphabet to 25 letters — eliminating ‘q’” —and 
says other changes will be necessary to reform the world's second 
most popular language. But changes can’t come quickly, he warns, 
or they won't be accepted. 

Changing “‘cily” to “sili” — eliminating the soft “‘c” and replacing 
it with “'s"” — will be accepted, he said, but replacing the hard “c"* 
with a “ke will be tough because that would produce 0 Kanada. 

mee resists the temptation to teach the Canadian “‘langwaje”’ to 
his high school students, but does not hesitate to point out the pro- 
blems with English. : 

“It wil spred arownd the wurld,” Culp says. ‘It wil triumf.” 


Ed note: Now thars a Cannuck thet nos wot hez 
talken bout! Ether thet er ole George hez ben 
Jeten him reed hiz kopi uv Update Magazine. Ile 
bet thets whut hapend, nunthles hez on mi band- 
wagun. We gota dew sumthin fore th kids an thar 
rap talk taks ovr fer sur. -BJ_ 


L_PLATYPUS 


folsortwuare 


AND UE’RE SPREADING IT! 


RHG_is adding so many NEW and 
EXCITING ITEMS to our line that 
our storerooms are BULGING! We 
have added more that 25 NEW PAGES 


and changed over 
BIG 40+ page catal want te 
make sure that you do ‘et miss out 
on anuthing we may be able to help 
you with In your computing. 
If you will send us $3.00 you 1 
neceive our catalog ith a $3 off 
coupon for your first order. ANDs 
nd along 12 business size SASEs 
and you will receive 12 monthly 
updates and special mailings. $5 
discount coupon in first mailing! 


RG ENTERPRISES 


1419 1/2 7TH STREET 
OREGON CITY, OREGON 970N5 


503/655-7484 # NOON+!0 TWWE-SAT 


hers Ia our 


QL to PC file transfers 


SPREADSHEET [text & valid formulas / some functions do not transfer to LOTUS (e.g., askt & askn)]: 


PC-ABACUS 
LoTUS 1-2-3 


QL-ABACUS to: 


QL-QUILL to PC-ASCIL.TXT 
eS PC-QUILL 
WordPerfect 


The "base" fee ts: $5.00 for the Ist file, 
$4.00 for the-2nd fil 
$3.00 Cor the 3rd fil 
32.00 Cor the ath file, 


base + 
base + 


base + 
base + 
base + 


1.60 / screen 
4.80 / screen 
2.50 / 25 lines 
3.00 / page 
5.00 / page 


A "sereen” 1s defined as: 20 rows x 8 cols. 
Ahalf-screen is: 10 rows x 8 cols. 
A quarter-screen is: 5 rows x 8 cols. 


$1,00 for each subsequent file. 


4 A "page" 13 deCined as: 30 lines maximim x 80 columns (or, about 300 words). 
** Partial pages will be rated at $0.10 per line in QUILL and $0.15 in WordPerfect. 
** A quarter-screen minimum increment for spreadsheets. 


PLEASE NOTE: The new Cile(s) will be supplied on a 3.5" 120K disk. 


If you need a 5.25" 360K disk, then please supply a labelled, pre-Cormatted 360K 
disk along with any original media. If you send microcartridges, please ensure 
that they are of high quality AND that you retain backup copies during the Interim. 


Of course, any original media (disks/microcarts) will be returned. 


AL FENG 

1§ Wake Robin Court 

Woodridge, IL 60517 47: 
(708) 971-0495, : 


If you have other needa, please enquire: 


THE QL ISSUE DISK PROGRAM 


And how goes it, QL? 


The issue disk program is designed to 
give publicity to the programmers who are 
working for us and to put the Author into 
direct contact with the users. Normally, 
an issue disk title is offered in a couple 
of issues of the magazine and then rotated 
out. This introduces the programmer to the 
users and establishes rapport between them. 
The programs in the issue disk belong to 
the authors. Update's only involvement is 
in their early distribution “at 
introductory prices". 

NOTICE that Bill Cable (Wood and Wind 
Computing) now has the capability of 
providing his software on both 5 1/4" and 3 
1/2" disks (and microdrive cart). See his 
ad else- where in this issue. Also NOTICE 
the ad by AL FENG (Platypus Software). 
Both of these authors are producing 
software for the QL and IBM systems. 

Other North American software authors 
will be introduced to the users as they 
cane aboard. The issue disk program's 
purpose is to encourage the creation of 
NORTH AMERICAN SOURCES in support of 


Sinclair Computing. The program is 
enjoying moderate success. Two years ago 
Peter Hale (EMSOFT) was about the only 


recognized source of American Software for 


the QL. Now he is joined by others. (See 
EMSOFT Ad in this issue). 
While the Brits are jolly good 


fellows, and they have given us (sold us) 
many good softwares, Update Magazine takes 
the position that QL users in North America 
should not have to swim the pond to get 
useful software. Our own programmers are 
available for call to service the users, 
and are eager to do so. 

Didja know that PSION, the producer 
(emeritus) of our Four great QL Softwares, 
is now an American Corporation? AND, Bill 
Cable has a working relationship with PSION 
ta do follow-on improvement programming 
with the PSION suite? AND, that EMSOFT 
(Peter Hale) is a Dealer for the new PSION 
Mobil computers? AND, I'm squirreling away 
saving to buy one of the new PSION Mobile 
computers? I dont know what thats got to 
do with Issue Disks, but it is all relative 
to the subject of Hobby computing. ENJOY! 


48 


SINCLAIR QL ISSUE DISKS (MOV) 


The following new issue disks are offered for QL 
systems of all configurations. The programs are 
omeither 80 track Diskette or MDV cartridge. 
If ordering for MDV send a formatted MOV 
cartridge. All prices are $22.00 (post paid) and 
are guaranteed to satisfy. 


1, "HARTUNG COLLECTION” DIK 


Address and QSO file managers, plus a raft 
of disk utilities. All in Superbasic. Lots of 
tricks and hints for the programmers. Requires 
sane knowledge of Superbasic or a yen to learn. 


2, "FENG QU Tec" DISK 

QLUTer - QL UTilities to m-clutter your 
disks and tapes. COPY, DELETE, FORMAT, PRINT, 
VIEN functions. TURBO compiled for SPEED. 
Multitasks and minimal key press. Also has-- 
SMAP SHOT - a directory colum or condensed 


print out program. ALSO includes "VEGEMAT” - a 


QLUsTer - very similiar to QLUTer (above) 
but has extended functions using some SUPER 
TOOLKIT 12 features. You must have the Toolkit 
(TR2_EXT) for this program. SNAP SHOT and 
Vecmrat also included. 


4, CABLE ARCHIVE DISK 

ARCHIVE utilities and exensive doc file 
instruction manuals. 
JOIN, 


the manuals lead one to canplete understanding 
of Archive and these extensions. 

If ordering {or MOV send two miv cartridges- too 
many programs to fit into one cart. 


oY 

5, "CRE 

A very useful TOOLKIT program for ng 
both DISKS and MICRODRIVE. HELPER lets pene 
fran one mediun to another, Read or Copy doc 
files to paper or screen, repeat format miv 
carts or floppy. Uses screen windows to see two 
directories from and to, copies over existing 
files in disk mdv, copy selected files. Does 
mot conflict with TR2. 


Order to UPDATE Magazine, address on cover. 
Check or money order accepted. 


THE 13-2068 ISSUE DISK PROGRAM 


Available until July 31, 1990 


While Frank Davis intends to continue the 
Issue Disk program it is likely to undergo 
change. The software offered in these disks 
belong to the authors and new agreements will be 
required. Some titles may not be available 
after July. yi 

It has been difficult to pursuade and cajole 
NEW S-2068 SOFTWARE from the few programmers 
who are still active. Most seem to be modifying 
older cassette software for disk drive 
operation, Thats kinda like modifying a 
row-boat to become a cruise ship. 

But this issue brings an excellent new 
BUSINESS Software, by Jim Bretz. My om 
softwares, Daisy, Smart Text, and Dbasel, were 
thrown into the Issue disk program to fill a 
void of new DISK BASED Software. These titles 
will be withdrawn after July because all are 
constantly undergoing upgrades, manual 
addendums, and require personal support via 
letters and telephone. 

My Fortune 800 Software house, "Gulf Micro” 
will continue to work on these and provide new 
full-length software as time goes on. I wish 
that other progranmers would join in such 
efforts. Larry Kenny and John McMichael are 
doing some good NEW software. AND, the Toronto 
TSUG has some very active progranmers who are 
producing LKDOS utilities. We need to entice 
others to join in. Software designed from the 
ground up for DISK DRIVE SYSTEMS is what we 
need. Old Cassette software with the SAVE line 
modified wont fit our needs, and if thats all 
the users have available they will move on to a 
computer system that has the software. 

A lot of new programming is going into the 
area of EXTRA MEMORY usage. Larmour Crawford is 
predominant in this area and I'm trying to 
assist. Please read the article "The Ql. ISSUE 
DISK PROGRAM". Our TS-2068 issue disk progran 
has not had as much success, but lets keep on 
trying. -BJ_ 


‘The following Disk software end utilities are 
offered. The individual disk listings ace given 
by TYPE of Dos that the disks are prepared for. 

‘The disks are available on 5-1/4" Double 
Side Double Density Diskettes, either 40 Track 
(360K) or 80 Track (720K) disk drives. If you 
have a 5-1/4 inch disk drive these disks will 
work in your system, Esch disk has at least 300K 
of programs and utilities. The price is §22.00 
per disk (postage paid) (add 1.00 to Canada). 
Checks or Honey Order. 


DAISY.BS : A Complete 75-2068 Software Systen, 


Data base management, Word Processing, 
Autaratic formatting, 

Over 20 integrated programs, 

Mail Merge annex. For LXDOS Only. (Oliger 
DOS users order Sart Text.) An Update 
Magazine Software. 


SWIRT TEXT: A versatile Data Base and Word 


Processor software. includes a Mail Merge 
annex to create mailing lists for 
automtic repeat letters. Label printing, 
Disk Management. By Update Magazine. 
Oliger Dos only. a 


VIEW CALC UPGRADE : The old PSION View Calc 
program Expanded and Converted for LRDOS 
with Spread Sheet Printer. By Bob 
Mitchell. For LXDOS Only. 


1988 UPDATE COLLECTION: The Hail Herge Software 


plus the disk filled with utilities, For 
Lxpos or Oliger DOS 


1989 UPDATE COLLECTION: Filled with all of the 


utility programs published during 1969. 
LXDOS or Oliger DOS 


SMART TEXT 64: (Coning) Smart Text software in 
64 Colum Screen for use with the Zebra 
08-64 Cartridge. For OLIGER DOS ONLY. 
(Do not order until release is announced) 


DBASE-1 : (Coming) A new RECORD software, ‘The 
data bese will be very flexible with 
applications for Mail Lists, Inventories, 
or just about any purpose one needs. Sort 
by any line, and by first or last group 
within the line. A "Sort Disk Files” 
feature will allow one to create and sort 
thousands of continuous records, (Do not 
order wntil release is announced. } 


1990 UPDATE COLLECTION: All of the Utility 


programs being published during this 
current year. (to be released in Oct.) 


BUSINESS AOQUUNTS: ew major Business 


Software for the 18-2068, By: Jim Brets 


This software is ven as a key-in 
project and can be ordet for imediate use. 
See the article in this issue. Available 
for LKDOS OR SPDOS. 5 1/4" DSDD 80 TRACK 
720K FORMAT. Use your ow Printer Driver 
Code or LKDOS version 3 driver, Needs 64 
Colum support by either TASHI or Zebra 
08-64 cartridge. 


NOTE TO PROGRAMMERS: TO can join in with the 
Issue Disk Program. All you need to do is 
to write # ~Manual" for your software 

to be published, snd supply the disk. 


BACK ISSUES OF UPDATE 
are available in YEAR Groups for $18,900 
per year (post paid) (add $1.00 to Canada) 
Hach year group hes over 200 pages of 
wostiy useful programs and utilities as 

key-in projects and MANY Tutorials for 

Basic and MC programming. Available are: 


1988 Year Group (All T3-2068 Supportive) 


1989 Year Group (78-2068 and Sinclair Qt 
(LimiTED Shock Remaryiag) 


49 


LKDOS SOF T-WARE 


MAXCOM 300/1200 baud Tecininal/BBS 

This full feature modem software fels you effectiviy link the modem to the disk, so you can upload or 
dawnload files larger than IOOK.This fats you send HMI saves and Inrge text files ex wall as Basic or Coda 
flea, whieh olker modem prograins couldn't send because of memary llinitations. Aisa files can be sent with 
or without » Information header (Spec-term compatible) . ; 

It aise has 2 64 column display and Is the anly 2068 modem pragram that will run st full 1200 baud 
without miasing characters. Other features of the terminal mode are IDM graphic characters, nuto- 
macro keys, IIOK disk buffer for captured text, auta repeat keys. 

The BOS Is the most fe nvaitable for the 20668 and allows the remate user full access to the disk 
drives similar to » CPM ODS. Features of the BBS ere - 300/1200 baud, operation with fast reponce even at 
1200 baud, Passwords, priority levels, Use Utne Ilinits, Multiple Message Bases, Uploads and Downloads are 
net thnited by Memory, Dual Window Monitor screen, Interupt driven time out and Hangup protection, Alaa 
Keeps » User log of callers Names and Activity an disk so a printer lant needed and Its easily customised and 
expanded. 


jar, 


MAXCOM can be used with the 2050 modem or with the Z-SIO RS232 Interface and a 300/1200 baud 
modem. (a versian for the Aerca S232 Ia In the works). < 
PRICE: $24.95 


LANKEN DISK EDITGR 
+ This pregran [ats you examine or change any byte on a LXdas disk. It Is useful In repairing damaged or 


glitched disks, changing the disk Name or head speed etc. You ¢: also exainine the track map and disk Info 


headers. 
Tha documentation for the disk editor alsa Includes Information on how ta access LKdos from Machine 


Cede and Information on the structure of the disk catalog end dats blacks. 


PHICE: $15.00 


SEQUENTIAL/RANDOM Access FILES 
This utility Is» ram resident extension te the LKdos operating system and lats you create, reed from, or 


write to very large date files kept on disk. It usea the commands OPENK, CLOSE, PRINTR, INPUTH, and 
INKEYSH to access the files fram BASIC. There Is also » high speed search command for finding » text string 
within the data file. Using the TAB command, you ean randamly accass directly any record In a file 
The utility [a apsily used within your basle programs and hes f fat of uses, from storing large date files, 
creating large spall chacker dictlonarys or even converting yeu basic programs to an ascit text file - 
Thia ulllily tats you take the limits off of the date capacity of the 2068 Files on disk can be huge | 
A simple dots base program Is Included on the disk to demenatrate the utillty. 
PRICE: $ 15.00 


Coming Seon from Larken Electronics < 
ae The Larken Desk Top Publisher «* Produce high quailty printing (like this page ) with sn epson compatible 

printer and LXdos, The enlire Hi-res graphic page Ia kept on the disk and acrailing though the page Is on easy 
as clicking the Joystick or mouse on the tcan type menu. Text and Graphic editing with multiple sized fants 


will also be fastured. 


ae Spall Checker (or Tesword and M-Script e+ Tha utlllly pragram will fet yeu have your wordproceasor 
text flee ba checked by @ 350K dictlanary. 


All Prices SUS - Specify type of drive whan ordering, 
LANKEN ELECTRONICS ANJ2 NAVAN, ONTARIO CANADA, K4B-1H9 
(613)-835-2660 


50 UPDATE MAGAZINE